码迷,mamicode.com
首页 > 其他好文 > 详细

玩转 SSH(一):使用 Struts 搭建简单站点

时间:2016-01-18 13:43:03      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

这篇文章只是简单的使用 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 启动的端口。

创建action

我们创建包 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;
    }
}

配置struts.xml

在 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>
struts.xml

创建JSP页面

在 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

修改 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

 

玩转 SSH(一):使用 Struts 搭建简单站点

标签:

原文地址:http://www.cnblogs.com/chanshuyi/p/5138862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!