标签:
这篇文章只是简单的使用 Struts 搭建一个简单的应用。它的逻辑只是简单地处理 HTTP 请求,并返回响应的页面,并不会涉及到数据库处理。
首先,创建一个项目 StrutsDemo 并设置好项目的基本设置(Maven、JDK、module 等) 。
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 <groupId>com.chanshuyi.sshm</groupId> 5 <artifactId>StrutsDemo</artifactId> 6 <packaging>war</packaging> 7 <version>1.0-SNAPSHOT</version> 8 <name>StrutsDemo Maven Webapp</name> 9 <url>http://maven.apache.org</url> 10 11 <properties> 12 <struts.version>2.3.24</struts.version> 13 </properties> 14 15 <dependencies> 16 <!-- 1. Struts --> 17 <dependency> 18 <groupId>org.apache.struts</groupId> 19 <artifactId>struts2-core</artifactId> 20 <version>${struts.version}</version> 21 </dependency> 29 </dependencies> 30 <build> 31 <finalName>StrutsDemo</finalName> 32 <plugins> 33 <!-- Maven的Tomcat插件(支持Maven以"tomcat7:run"方式启动web项目) --> 34 <plugin> 35 <groupId>org.apache.tomcat.maven</groupId> 36 <artifactId>tomcat7-maven-plugin</artifactId> 37 <version>2.1</version> 38 <configuration> 39 <port>5050</port> 40 <path>/</path> 41 <uriEncoding>UTF-8</uriEncoding> 42 <finalName>mgr</finalName> 43 <server>tomcat7</server> 44 </configuration> 45 </plugin> 46 </plugins> 47 </build> 48 </project>
第17行导入了 Struts 的依赖包。第34行导入了 tomcat 插件,可以通过 maven 命令行的方式启动项目,而不用在本地用 tomcat 启动。第 39 行配置的端口就是我们之后要 tomcat 启动的端口。
我们创建包 com.chanshuyi.action,并创建 UserAction:
package com.chanshuyi.action;
import com.opensymphony.xwork2.ActionSupport;
/**
* Created by chanshuyi on 2016/1/18.
*/
public class UserAction extends ActionSupport{
public String login(){
msg = "Hello Man.";
return SUCCESS;
}
public String msg;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
在 resources 下创建 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> <!-- 所有匹配*.action的请求都由struts2处理 --> <constant name="struts.action.extension" value="action" /> <!-- 是否启用开发模式(开发时设置为true,发布到生产环境后设置为false) --> <constant name="struts.devMode" value="true" /> <!-- struts配置文件改动后,是否重新加载(开发时设置为true,发布到生产环境后设置为false) --> <constant name="struts.configuration.xml.reload" value="true" /> <!-- 设置浏览器是否缓存静态内容(开发时设置为false,发布到生产环境后设置为true) --> <constant name="struts.serve.static.browserCache" value="false" /> <!-- 请求参数的编码方式 --> <constant name="struts.i18n.encoding" value="utf-8" /> <!-- 每次HTTP请求系统都重新加载资源文件,有助于开发(开发时设置为true,发布到生产环境后设置为false) --> <constant name="struts.i18n.reload" value="true" /> <!-- 文件上传最大值 --> <constant name="struts.multipart.maxSize" value="104857600" /> <!-- 让struts2支持动态方法调用,使用叹号访问方法 --> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <!-- Action名称中是否还是用斜线 --> <constant name="struts.enable.SlashesInActionNames" value="false" /> <!-- 允许标签中使用表达式语法 --> <constant name="struts.tag.altSyntax" value="true" /> <!-- 相当于普通xml配置中的extends,指定默认的继承包 --> <constant name="struts.convention.default.parent.package" value="struts-default" /> <!-- 结果资源所在路径,这个地方要注意,详见下面解释 --> <constant name="struts.convention.result.path" value="/jspPage" /> <!-- 指定以那些后缀结尾的java类package包被搜索,以发现注解 --> <constant name="struts.convention.package.locators" value="web,action" /> <!-- 对于WebLogic,Orion,OC4J此属性应该设置成true --> <constant name="struts.dispatcher.parametersWorkaround" value="false" /> <!-- Action 映射配置 --> <package name="basePackage" extends="struts-default"> <!-- 访问路径:http://localhost:5050/index.jsp --> <action name="login" class="com.chanshuyi.action.UserAction" method="login"> <result name="success">/index.jsp</result> <result name="input">/index.jsp</result> </action> </package> </struts>
在 webapp 目录下创建 index.jsp 文件:
<%@page language="java" pageEncoding="UTF-8"%> <%@ page contentType="text/html;charset=utf-8" %> <%@ page isELIgnored="false"%> <html> <body> <h2>${msg}</h2> </body> </html>
修改 web.xml 文件:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>StrutsDemo Application</display-name> <!-- Struts核心过滤器 --> <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> </web-app>
创建完成后,项目结构是这样的:
接下来,我们用 Maven 命令行的方式启动项目,并尝试访问。
点击“Run -> Edit Configurations” 打开 “运行/调试窗口”
配置 StrutsDemo 项目的 Maven 启动命令:
之后我们打开浏览器访问:http://localhost:5050/login.action
如果看到下面的页面,那就是成功了。
项目文件链接:http://pan.baidu.com/s/1c1czEUW 密码:qyhk
标签:
原文地址:http://www.cnblogs.com/chanshuyi/p/5138862.html