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

这篇文章只是简单的使用 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

时间: 2024-08-14 15:28:22

玩转 SSH(一):使用 Struts 搭建简单站点的相关文章

nginx + php + mysql + wordpress 搭建简单站点 安装及配置过程

1.安装Nginx yum install nginx service nginx start 在浏览器输入ip查询是否搭建成功 2.安装mysqlwget http://repo.mysql.com/mysql57-community-release-el7.rpm获取mysql安装包rpm -ivh mysql57-community-release-el7.rpm 安装mysqlyum install mysql-server 安装mysql-serverwget https://dl.f

玩转 SSH 目录

在做一个新的项目的时候,需要重新搭建一个项目. 于是趁着这个机会把之前学的几个框架的搭建都写一写,整理一下,同时也可以给大家一些参考.何乐而不为叻. 在这个系列中, 我将使用 IntelJ IDEA 开发工具.Maven 包管理工具进行开发. 下面是暂时想到的要写的文章: 1.玩转 SSH 目录 2.玩转 SSH(一):使用 Struts 搭建简单站点 3.玩转 SSH(二):Struts + Spring + Hibernate 架构搭建 4.玩转 SSH(三):Struts + Spring

SSH框架与配置文件的简单搭建

在eclipse中,对ssh框架进行学习以及简单的编写,以下为基本的项目操作与须知歩骤: 1.导包(创建项目后的第一步,将所有相关的资源包导入项目WebContent  / WEB-INF/ lib/ 下),找到可能会采用的资源,比如: Struts-2.3.30.           Spring-4.2.2           Hibernate-5.2.2 (以上为本例所采用的资源) 创建一个新的项目(点击File-->New-->Dynamic Web Project): 1.1.在S

玩转Node.js(四)-搭建简单的聊天室

玩转Node.js(四)-搭建简单的聊天室 Nodejs好久没有跟进了,最近想用它搞一个聊天室,然后便偶遇了socket.io这个东东,说是可以用它来简单的实现实时双向的基于事件的通讯机制.我便看了一些个教程使用它来搭建一个超级简单的聊天室. 初始化项目 在电脑里新建一个文件夹,叫做“chatroom”,然后使用npm进行初始化: $ npm init 然后根据提示以及相关信息一步一步输入,当然也可以一路回车下去,之后会在项目里生成一个package.json文件,里面的信息如下: 1 $ ca

玩转SSH(五):Struts + Spring + MyBatis(注解版)

本文将在 玩转SSH(四):Struts + Spring + MyBatis 的基础上进行一些小的改动,将原本是 xml 配置方式的项目,改成注解的配置方式. 要将项目改成注解方式,一般是将在 Spring 中创建的对象通过注解的方式直接写在类中.下面我们看看如何进行配置. 一.修改 applicationContext.xml 文件 将原来的bean声明全部删除: <bean id="..." class="..."> <property ..

eclipse中SSH三大框架环境搭建&lt;三&gt;

相关链接: eclipse中SSH三大框架环境搭建<一> eclipse中SSH三大框架环境搭建<二> 引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的搭建以及简单使用,但是在访问数据库层面使用的是传统的JDBC.在我们项目开发中使用JDBC确实是不太理想的,所以今天我给大家来讲解一下目前行业中比较流行的持久层框架——hibernate. 第1步:我们依旧需要引入hibernate的jar包 找到hibernate解压好的文件目录,在该目录下的lib目录下有

玩转SSH之Spring(一)---关于Srping框架中使用@query注解实现复杂查询

在Spring框架中,关于从数据表获取数据有不同的方法,当数据查询比较简单时,可以通过继承JpaRepository<T, L> 使用findBy***方法,通过分析方法名来实现查询,T表示要查询的数据表所对应的实体,L表示该实体主键的类型,比如Long.关于findBy方法如何通过分析方法名来实现查询,网上资料很多,不做赘述. 如果查询的数据比较复杂,查询条件比较复杂时,可以考虑使用JPA的@query方法来实现查询.关于使用方法,下面做简单介绍: 1.首先Dao层需继承Repository

拿nodejs快速搭建简单Oauth认证和restful API server攻略

拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最近一直在鼓捣这个东西,拿出来分享下一下经验吧,其实很简单,一点也不难. 首先需求是这样,给自己的网站要增加API服务,API分为两种,公共的和私有授权的,授权的使用Oauth方法认证身份,API格式均为JOSN和JSONP. 嗯,别的语言我也没怎么学过,首先是找合适的框架进行实现吧.本身网站使用的e

使用java搭建简单的ligerui环境

最近因为工作需要,学习了ligerui框架.但是,因为在公司,我们只是作为最低层的码农,所以环境都已经搭建好了,我们这些码农平时都是直接拿到工程,然后在别人的框架上不断的ctrl + c.ctrl + v,然后修修补补.所以为了摆脱这种困境,决定自己使用简单的servlet搭建一个ligerui,然后测试下ligerui这玩意到底是怎么跑起来的. 1.下载ligerui相关组件.这个很简单,直接去www.ligerui.com即可找到. 2.使用Eclipse创建一个web工程,然后搭建下面这个