1,在MyEclipse中新建一个WEB工程:struts2demo,导入Struts的五个核心包
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.14.jar
xwork-2.0.7.jar
2,在WebRoot目录下建一个login.jsp文件,即登录界面
<body> <form action="login.action"> username:<input type="text" name="username"></input><br> password:<input type="password" name="password"></input><br> <input type="submit"/> </form> </body>
3,再建一个result.jsp,用于显示登录结果
<body> username:${requestScope.username} <br> password:${requestScope.password} </body>
4,在src目录下新建com.test.action.LoginAction.java文件,类似于JAVABEAN,定义了两个变更,分别是用户名username,和密码password。此处需要注意的是jsp页面上的username与aciton类中对应的是方法名,而不是变更名,即jsp页面的username对应的是getUsername方法。
execute方法中写的是业务逻辑。
package com.test.action; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport{ 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; } public String execute() throws Exception { return SUCCESS; } }
5,完成代码编写后,需要配置一些XML文件。在 src目录下新建struts.xml文件,进行action的配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="struts2demo" extends="struts-default"> <action name="login" class="com.test.action.LoginAction"> <result name="success">/result.jsp</result> </action> </package> </struts>
其中succsee可不用明写,因为result如不填写值,默认就是success
在LoginAction.java的execute方法返回success就会去对应的action中result=success对应的页面。
6,配置完struts.xml文件后,配置WebRoot/Web-inf目录下的web.xml文件,配置Struts2的过滤器
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
7,为了更方便地访问此demo,在tomcat的conf/server.xml文件的最后加上如下配置
<Context path="/struts2demo" docBase="E:\workspace\struts2demo\WebRoot" reloadable="true"/>