文档章节

Struts2环境搭建

开源俱乐部
 开源俱乐部
发布于 2014/06/08 23:25
字数 716
阅读 56
收藏 0

一、Struts2环境配置步骤

(1)下载并解压Struts2

        Struts2解压后,会得到4个文件夹,分别是:

        apps:5个应用的war包

        docs:文档

        lib:107个jar包

        src:源码

(2)拷贝相关的JAR包

        拷贝apps\struts2-blank.war\WEB-INF\lib\*.jar文件到项目的lib目录下。

(3)修改web.xml文件

        打开apps\struts2-blank.war\WEB-INF\web.xml,将以下代码拷贝到项目中的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>

        这段代码的意思是,使用拦截器拦截所有url请求。

        web.xml文件完整代码如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 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.html</welcome-file>
    </welcome-file-list>

</web-app>

(4)配置struts.xml

        将apps\struts2-blank.war\WEB-INF\classes\struts.xml拷贝到项目的src目录中,并稍作配置,代码如下所示:

<?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="default" namespace="/" extends="struts-default">

        <default-action-ref name="index" />

        <global-results>
            <result name="error">/error.jsp</result>
        </global-results>

        <global-exception-mappings>
            <exception-mapping exception="java.lang.Exception" result="error"/>
        </global-exception-mappings>

        <action name="*">
            <result>
               /{1}.jsp
            </result>
        </action>
    </package>

    <!-- Add packages here -->

</struts>

(5)测试配置

        部署并启动tomcat服务器,访问http://ip地址:端口/项目名/index.action或http://ip地址:端口/项目名/index,如果成功访问,则证明Struts2配置正常。

        至此,Struts2的配置工作就完成了。

二、知识扩展

(1)Struts2默认扩展名   

        Struts1的默认扩展名为.do,Struts2的默认扩展名为.action,实际应用中可以省略后缀,只用Action名称即可。

        扩展名可以在配置文件中修改,可以增加或修改为自定义的其它扩展名。

(2)Struts中常量介绍

        常量是用于Struts2的应用特性。

        在本示例的struts.xml中,有如下常量的代码配置。

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />

        这两行常量配置的意思分别是:禁用动态调用、启用开发模式(热部署)。Struts2提供了非常多的常量,以后文章会详细介绍。

(3)开发模式

        所谓开发模式,就是在改变代码或配置文件后,不重新部署或重启Tomcat服务器的情况下,直接可以浏览更改后的效果,又称热部署。一般用于开发环境中。

(4)本示例struts.xml中Action配置解释

        本示例中的struts.xm中如下代码:

<action name="*">
            <result>
               /{1}.jsp
            </result>
</action>

        意思是:无论什么请求,都会和WebRoot根目录下的请求.jsp文件进行匹配并返回相应结果。

        如,假如用户访问:http://ip地址:端口/项目名/index

        实际的访问地址是:http://ip地址:端口/项目名/index.jsp

© 著作权归作者所有

共有 人打赏支持
开源俱乐部
粉丝 10
博文 39
码字总数 31422
作品 0
朝阳
架构师
Hibernate环境搭建+struts整合

说明:本文档,是和struts2+hibernate的整合示例。 lib下还有struts2的jar包,本示例没有显示。struts2的搭建参考struts2的环境搭建 一下载hibernate的jar包,并将相关jar包导入的项目web-i...

无信不立
2014/08/14
0
0
网站漏洞之apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现

S2-057漏洞,于2018年8月22日被曝出,该Struts2 057漏洞存在远程执行系统的命令,尤其使用linux系统,apache环境,影响范围较大,危害性较高,如果被攻击者利用直接提权到服务器管理员权限,...

网站安全
08/24
0
0
网站apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现

S2-057漏洞,于2018年8月22日被曝出,该Struts2 057漏洞存在远程执行系统的命令,尤其使用linux系统,apache环境,影响范围较大,危害性较高,如果被攻击者利用直接提权到服务器管理员权限,...

sinesafe
08/23
0
0
struts2学习笔记--动手搭建环境+第一个helloworld项目

  在Myeclipse中已经内置好了struts2的环境,但是为了更好的理解,这里自己从头搭建一下:   前期准备:下载struts2的完整包,下载地址:https://struts.apache.org/,解压缩,在apps目录下,解压...

冬至饮雪
2016/02/04
0
0
HelloWorld概述

2.1 概述 2.1.1 功能概述 通过上一章的讲述,明白了Struts2是什么,有什么以及能干什么,接下来就该来讨论怎么做的问题了,也就是讨论如何使用Struts2来开发基于MVC的web应用。 按照惯例,学...

空呗
2014/01/08
210
1

没有更多内容

加载失败,请刷新页面

加载更多

centos7安装rsync及两台机器进行文件同步

centos7安装rsync及两台机器进行文件同步 2017年12月21日 11:17:46 码农下的天桥 阅读数:2210 标签: centosrsync同步 更多 个人分类: 后端 所属专栏: 研发模式及运维 版权声明:本文为博...

linjin200
22分钟前
1
0
jpg、jpeg、png... 的区别

jpg、jpeg、png... 的区别 对于做设计这一行的人来说,这几个图片格式是最常用的,也是最常见的,几乎每一天都要与他们打交道。 刚刚入门的新人通常不知道在什么地方如何使用他们或者说如何更...

DemonsI
41分钟前
5
0
白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理

前言 简单介绍了关于Zuul的一些简单使用以及一些路由规则的简单说明。而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者对调用服务的异常进行二次处理等等。今天,...

oKong
46分钟前
2
0
Character的static方法

基本类型char的包装类是Character,使用的比较多,大家是比较熟悉的。 我只是觉得里面有很多static方法,平时不怎么用,学习一下怎么实现的,或许日后就用到了。 static int compare(char x,...

woshixin
59分钟前
2
0
正则介绍_sed

10月17日任务 9.4/9.5 sed sed工具 匹配打印 -n 只打印匹配行,不然其他行也会打印出来 p 打印(配合-n使用) [root@centos7 tmp]# sed -n '/root/'p passwd root:x:0:0:root:/root:/bin/ba...

robertt15
59分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部