步骤:
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