Struts2学习笔记2--使用maven搭建Struts2开发环境
1 使用eclipse新建一个maven工程
1.1 在Project Explorer视图下,右键》New》Project。
1.2 在弹出新建工程页面,展开Maven,选择Maven Project,单击“Next”。
1.3 在新建Maven工程页面,单击“Next”。
1.4 Catalog栏下拉选择"All Catalogs",选择maven-archetype-webapp,单击"Next"。
1.5 填写Group Id、Artifact Id、Package,选择Version,单击"Finish"
2.添加maven依赖
2.1选中工程的pom.xml文件,右键,Maven,Add Dependency。
2.2 在添加依赖页面,输入struts2-core,选择版本为2.3.16,单击"OK",然后用同样的方式添加xwork-core和javassist。
2.3 添加完依赖之后的pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zy</groupId> <artifactId>struts2</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>struts2 Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.16</version> </dependency> <dependency> <groupId>org.apache.struts.xwork</groupId> <artifactId>xwork-core</artifactId> <version>2.3.16</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.11.0.GA</version> </dependency> </dependencies> <build> <finalName>struts2</finalName> </build> </project>
3. 配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="struts2" 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"> <display-name>Struts Blank</display-name> <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> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
4. 配置struts.xml文件
<?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>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<!-- Add packages here -->
</struts>
5. 加入测试框架是否搭建成功的测试代码
5.1 在工程中添加src/main/java的文件夹,添加com.zy.bean和com.zy.action包,在com.zy.bean包中新增User类,在com.zy.action包中添加UserAction类。
package com.zy.bean; /** * 用户类 */ public class User { private String name; //用户名 private String pass; //密码 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } }
package com.zy.action; import com.opensymphony.xwork2.ActionSupport; import com.zy.bean.User; /** * 用户Action类 */ public class UserAction extends ActionSupport{ private static final long serialVersionUID = 1L; private User user; //用户 private String msg; //提示信息 @Override public String execute() throws Exception { if("zy".equals(user.getName()) && "zy".equals(user.getPass())){ msg = "welcome, " + user.getName(); }else{ msg = "Invalid name or pass"; } return SUCCESS; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
5.2 在/webapp下新建login.jsp,在/webapp/pages/user下新建loginResult.jsp文件
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>login page</title> </head> <body> <s:form action="/mystruts/login.action" method="post"> <s:textfield name="user.name" label="账号"></s:textfield><br /> <s:password name="user.pass" label="密码"></s:password><br /> <s:submit value="登陆"></s:submit> </s:form> </body> </html>
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>响应信息</title> </head> <body> <s:property value="msg" /> </body> </html>
5.3 修改struts.xml文件,添加对应的Action信息
<?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> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="struts2" namespace="/mystruts" extends="struts-default"> <action name="login" class="com.zy.action.UserAction"> <result name="success">/pages/user/loginResult.jsp</result> </action> </package> <!-- Add packages here --> </struts>