手动配置开发struts项目

步骤:
1、先创建一个web工程
File->New->Web Project(Optional Maven Support)
 
2、把struts开发包引入到web工程
struts加压后lib目录下的jar包拷到/WEB-INF/lib下
 
3、编写login.jsp
<html>
  <head>
    <title>My JSP 'login.jsp' starting page</title>
  </head>
  
  <body>
    <form action="/strutslogin/login.do" method="post">
        u:<input type="text" name="username"><br/>
        p:<input type="password" name="password"><br/>
        <input type="submit" value="login">
    </form>
  </body>
</html>
 
4、编写ActionForm(用户表单)和Action(小队长->登陆小队长)
package com.hsp.forms;
//这是一个用户表单,用于填充数据
import org.apache.struts.action.ActionForm;

public class UserForm extends ActionForm {
    //定义属性
    private String username;
    private String password;
    
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
}
 
5、编写struts-config.xml文件,该文件用于配置action、actionForm的对应关系,跳转位置......,一般放在/WEB-INF目录下
<?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>
        <!-- name是表单名字,可以随意写,但是我们建议取名规范,表单类名小写 -->
        <!-- type用于指定表单类全路径 -->
        <form-bean name="userForm" type="com.hsp.forms.UserForm"></form-bean>
    </form-beans>
    <!-- 配置action -->
    <action-mappings>
        <!-- 配置具体的一个action path:表示将来访问action的uri,http://localhost:8080/web/path? -->
        <!-- name:用于关联某个表单 -->
        <!-- path:用于指定该action类的全路径 -->
        <!-- scope="request" 表示该action对应的表单对象的生命周期 request=request.setAttribute("userForm",userForm) -->
        <!-- scope="session" 表示该action对应的表单对象的生命周期 session=request.getSession().setAttribute("userForm",userForm) -->
        <!-- scope默认是session访问范围 -->
        <action path="/login" name="userForm" scope="request" type="com.hsp.actions.LoginAction">
            <!-- 这里配置跳转关系 -->
            <!-- name表示结果名称 path:转发到哪个页面 -->
            <forward name="ok" path="/WEB-INF/wel.jsp"></forward>
            <forward name="err" path="/WEB-INF/error.jsp"></forward>
        </action>
        
    </action-mappings>
</struts-config>
 
6、编写wel.jsp和err.jsp
wel.jsp
<%
@ page language="java" import="java.util.*,com.hsp.forms.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'wel.jsp' starting page</title> </head> <body> welcome <%=((UserForm)request.getAttribute("userForm")).getUsername() %>. <br> <a href="/strutslogin/index.jsp">返回重新登录</a> </body> </html>
err.jsp
<%
@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'error.jsp' starting page</title> </head> <body> error. <br> </body> </html>
 
7、配置web.xml文件,该文件用于配置ActionSerlvet
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <!-- 配置struts-config -->
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
    </servlet>

    <filter>
        <filter-name>MyFilter</filter-name>
        <filter-class>com.hsp.filters.MyFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>MyFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>


  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
 
8、测试
http://localhost:8080/strutslogin/index.jsp
原文地址:https://www.cnblogs.com/jingyunyb/p/3525514.html