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"/>