(参考自风中叶的struts2教程视频)
第一个Struts2例子
开发环境
IDE:MyEclipse9.1
Server Container:Tomcat 7
Struts2版本:struts -2.3.7
配置过程
- 创建Web Project:struts2
- 导入需要的jar包到/WebRoot/WEB-INF/lib下:
commons-fileupload-1.2.2.jar、commons-io-2.0.1.jar 、commons-lang3-3.1.jar
commons-logging-1.1.1.jar、freemarker-2.3.19.jar、javassist-3.11.0.GA.jar
ognl-3.0.5.jar、struts2-core-2.3.7.jar、 xwork-core-2.3.7.jar
- 新建jsp页面:login.jsp
<form action="login.action" method="post"> username:<input type="text" name="username"><br> password:<input type="password" name="password"><br> <input type="submit" value="submit"> </form>
- 配置web.xml文件,加入过滤器
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
- 建立、配置struts.xml文件(src下)。
可以直接从struts2下的apps文件中解压struts2-blank拷贝修改。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="struts2" extends="struts-default"> <action name="login" class="com.test.action.LoginAction"> <result name="success">/result.jsp</result> </action> </package> </struts>
- src下新建一个包:com.test.action,创建LoginAction类
package com.test.action; /** * @author Administrator * *在Struts1中必须要继承Action,在2中不需要 */ public class LoginAction { 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"; } }
- 创建页面result.jsp
<body> username:${requestScope.username }<br> password:${requestScope.password } </body>
发布、测试
将项目部署到tomcat,启动
地址栏中输入 http://localhost:8080/struts2/login.jsp 进行测试
小结:
1. Struts2中的web.xml文件中,不再需要配置servlet,而是过滤器filter
2. Struts2中没有struts-config.xml文件
3. Struts2中有struts.xml文件,放在src下
4. Struts2中没有ActionForm,建立Action直接建立就可以了,不再像strut1中那样需要继承struts的Action