java中struts配置

下面是关于Java中Struts配置的详细攻略。

Struts框架的基本介绍

Apache Struts是一个基于Java EE的Web应用程序开发框架,它采用了Model-View-Controller(MVC)的架构模式,并通过多种标准技术来实现Web应用的开发,如Java Servlet、JavaBean、XML、JSP和Java的反射机制等。Struts框架的开发主要涉及Struts配置文件的编写,其中最基本的配置文件就是struts-config.xml。这个配置文件中主要包含一个或多个action元素,每个action元素通常会对应到应用中的一个页面或一个请求,并指定一组处理此请求的类和方法。

Struts框架的环境准备

首先,我们需要在本地机器上安装好Java开发环境和Apache Tomcat服务器环境,这里我们以Tomcat作为Web容器。其次,下面是一些必要的Struts框架的jar包:

  • struts.jar
  • struts-el.jar
  • commons-beanutils.jar
  • commons-digester.jar
  • commons-collections.jar
  • commons-chain.jar
  • xwork-core.jar
  • ognl.jar
  • freemarker.jar

在项目中增加这些jar包依赖:

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts-core</artifactId>
    <version>1.3.8</version>
</dependency>

其中,1.3.8是Struts框架的版本号。

配置struts-config.xml

下面是一个简单的Struts配置文件示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC 
  "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" 
  "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
  <form-beans>
    <form-bean name="loginForm" type="com.example.struts.action.LoginActionForm"/>
  </form-beans>
  <global-exceptions>
    <exception
      key="error.db.exception"
      type="java.sql.SQLException"
      path="/error/error.jsp"/>
    <exception
      key="error.generic.exception"
      type="java.lang.Exception"
      path="/error/error.jsp"/>
  </global-exceptions>
  <action-mappings>
    <action
      path="/login"
      name="loginForm"
      type="com.example.struts.action.LoginAction"
      validate="true"
      input="/login.jsp"
      scope="request">
      <forward name="success" path="/welcome.jsp"/>
      <forward name="failure" path="/login.jsp"/>
    </action>
  </action-mappings>
</struts-config>

在这个配置文件中,我们定义了一个名为“login”的action,定义了一个名为“loginForm”的formBean,也定义了几个全局异常。当名字为“login”的请求被发送时,它会跳转至类com.example.struts.action.LoginAction,并在LoginForm中进行输入验证,验证成功将跳转至/welcome.jsp,否则跳转至/login.jsp。

下面是另一个简单的示例:

<action
    name="loginForm"
    path="/login"
    scope="request"
    validate="true"
    input="/login.jsp"
    type="com.example.struts.LoginAction"
    parameter="execute">
    <forward name="success" path="/welcome.jsp" />
    <forward name="failure" path="/login.jsp"/>
</action>

该示例也是定一个名为“login”的action,它将请求发送到loginForm实例上,并对用户输入进行验证。如果验证成功,则跳转至/welcome.jsp;如果验证失败,则返回/login.jsp

配置Action类

在Struts中,Action类是用来处理请求的具体实现,它通常继承org.apache.struts.action.Action,并实现execute方法。

下面是一个简单的Action类:

package com.example.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.example.struts.actionform.LoginActionForm;

public class LoginAction extends org.apache.struts.action.Action{
    public ActionForward execute(
        ActionMapping mapping,
        ActionForm form,
        HttpServletRequest request,
        HttpServletResponse response) throws Exception {

        LoginActionForm loginForm = (LoginActionForm) form;
        String username = loginForm.getUsername();
        String password = loginForm.getPassword();
        if ("admin".equals(username) && "password".equals(password)) {
            return mapping.findForward("success");
        } else {
            return mapping.findForward("failure");
        }
    }
}

该简单示例中,我们对用户输入进行了简单的检查,若用户名为“admin”,密码为“password”,则跳转至“success”,否则跳转至“failure”。

另一个简单的示例:

package com.example.struts;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
    private String username;
    private String password;

    public String execute(){
        if("admin".equals(username) && "password".equals(password)){
            return SUCCESS;
        }else{
            return ERROR;
        }
    }

    public void setUsername(String username){
        this.username = username;
    }
    public void setPassword(String password){
        this.password = password;
    }
    public String getUsername(){
        return username;
    }
    public String getPassword(){
        return password;
    }
}

结论

这就是关于Java中Struts配置的详细攻略,希望对你有帮助。在实际应用中,我们可能需要根据具体需求进行更加复杂的配置。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中struts配置 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • jsp中自定义Taglib详解

    这里是“jsp中自定义Taglib详解”的完整攻略,包含如下内容: 1. 什么是自定义标签? 自定义标签(Custom Tag)是 JSP 技术中的一种高级特性,使用者可以自己编写标签库文件,将一些公共的动态交互界面组件或功能封装为自定义标签,方便重复使用,大大提高了程序的复用性和可维护性。 2. 自定义标签的本质 自定义标签的本质是由一个特殊的类来实现,这…

    Java 2023年6月15日
    00
  • Java 编程中十个处理异常的建议

    Java 编程中十个处理异常的建议 对于 Java 程序员来说,异常处理是一项必不可少的技能。如何合理地处理异常,提高代码的健壮性和可维护性,是每个程序员都应该重视的问题。这里提供十个处理异常的建议,帮助大家更好地应对各种异常情况。 1. 避免捕获过于宽泛的异常 Java 中存在许多种异常类型,如 NullPointerException、ArrayInde…

    Java 2023年5月27日
    00
  • jQuery+jsp实现省市县三级联动效果(附源码)

    实现省市县三级联动效果是Web开发中经常需要的功能之一。在这个过程中,jQuery 和 jsp 无疑是非常好的组合,因为 jQuery 可以方便的获取和操作DOM元素,jsp则具有动态生成html页面的优势。本文将分享一篇详细的攻略,教你如何使用 jQuery 和 jsp 实现省市县三级联动效果,并附上完整的源码。 一、前置知识 在阅读本篇攻略前,你需要具备…

    Java 2023年6月15日
    00
  • Spring Boot项目使用Flyway的详细教程

    当我们开发Spring Boot项目时,我们通常需要在数据库中创建各种数据表、视图等数据结构。随着项目的迭代,这些数据结构往往需要不断地进行更新、迁移、升级等操作。为了方便地管理这些数据库变更,我们可以使用Flyway工具来进行数据库迁移管理。下面是一份详细的Spring Boot项目使用Flyway的教程。 安装和配置Flyway 在Spring Boot…

    Java 2023年5月26日
    00
  • springmvc集成shiro登录失败处理操作

    要将SpringMVC和Shiro集成起来,需要进行以下步骤: 1. 导入相关依赖 在项目的pom.xml文件中,需要添加spring-boot-starter-web、shiro-spring、shiro-core和thymeleaf等相关依赖。具体依赖版本可以自行选择,这里我给出一个示例: <dependencies> <depende…

    Java 2023年6月15日
    00
  • JSP开发之Struts2实现下载功能的实例

    我们先来讲一下Struts2实现下载功能的基本路线。一般来说,实现下载功能需要经过以下步骤: 点击下载按钮或链接,请求下载文件 后台调用方法生成文件下载流 将文件下载流写入response中,浏览器开始下载 在Struts2框架中,可以利用这个路线实现下载功能。接下来我们具体讲一下: 准备工作 编写jsp页面提供下载按钮或链接:通过向服务器发送请求,请求下载…

    Java 2023年5月20日
    00
  • SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI

    我将为您详细讲解 Spring Boot 开发提速神器 Lombok+MybatisPlus+SwaggerUI 的完整攻略。 概述 Spring Boot 是一款轻量级、快速开发的框架,使用起来很方便,但是在我们进行开发时,有很多简单重复的代码需要我们手动编写,这样大大增加了我们的工作量。Lombok、MybatisPlus 和 SwaggerUI 是经过…

    Java 2023年5月19日
    00
  • Spring Data JPA映射自定义实体类操作

    Spring Data JPA映射自定义实体类操作攻略 Spring Data JPA 是 Spring Data 的一种实现,旨在简化 JPA 的开发工作。在实际开发中,我们经常需要对实体类进行一些自定义操作,本篇攻略将介绍如何在 Spring Data JPA 中映射自定义实体类操作。 准备工作 在开始前,需要准备好以下工作: JDK 1.8 或以上 S…

    Java 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部