博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts 2.3.4.1完整示例
阅读量:5992 次
发布时间:2019-06-20

本文共 2515 字,大约阅读时间需要 8 分钟。

【系统环境】Windows 7 Ultimate 64 Bit

【开发环境】JDK1.6.21,Tomcat6.0.35,MyEclipse10

【其他环境】Struts2.3.4.1

【项目描述】Struts2.3.4.1完整示例

目录结构:

使用的jar包

struts.xml 文件内容:

1 
<?
xml version="1.0" encoding="UTF-8" 
?>
2 
<!
DOCTYPE struts PUBLIC
3 
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
4 
    "http://struts.apache.org/dtds/struts-2.3.dtd"
>
5
6 
<
struts
>
7     
<
package 
name
="struts2demo" 
extends
="struts-default"
>
8         
<
action 
name
="hello"
9 
            class
="zain.struts2.action.HelloWorldAction"
>
10             
<
result 
name
="success"
>/jsp/success.jsp
</
result
>
11             
<
result 
name
="failure"
>/jsp/failure.jsp
</
result
>
12         
</
action
>
13     
</
package
>
14 
</
struts
>
 
上面代码中的 package节点中,name属性名可以随意取,它的功能是可以实现继承,还有namespace属性名是防止重名,比如项目中不同的包下,有同名Action,添加namespace属性值之后,可以通过命名空间名.Action名称来区分;因为Struts支持多个配置文件,所以exntends属性是用来指定此文件继承自默认配置文件。
我们知道,当我们引入Struts支持的时候,所有的Web请求都将交给Struts核心控制器来处理,根据不同的Action来执行不同的响应,这里的Action的name属性,即是当我们调用这个Action时,执行对应的ActionClass。
 

web.xml 文件内容

1 
<?
xml version="1.0" encoding="UTF-8"
?>
2 
<
web-app 
version
="3.0"
3 
    xmlns
="http://java.sun.com/xml/ns/javaee"
4 
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
5 
    xsi:schemaLocation
="http://java.sun.com/xml/ns/javaee
6 
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
>
7   
<
display-name
></
display-name
>   
8  
9   
<!-- 
定义Struts2.3.4过滤器 
-->
10   
<
filter
>
11       
<
filter-name
>struts2
</
filter-name
>
12       
<
filter-class
>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</
filter-class
>
13   
</
filter
>
14  
15   
<!-- 
Struts2.3.4过滤器映射 
-->
16   
<
filter-mapping
>
17       
<
filter-name
>struts2
</
filter-name
>
18       
<
url-pattern
>/*
</
url-pattern
>
19   
</
filter-mapping
>
20  
21   
<
welcome-file-list
>
22     
<
welcome-file
>index.jsp
</
welcome-file
>
23   
</
welcome-file-list
>
24 
</
web-app
>
 
HelloWorldAction.java 文件内容
1 
package 
zain.struts2.action;
2
3 
public 
class 
HelloWorldAction {
4    
5     
private 
String message;
6    
7     
public 
String getMessage(){
8         
return 
message;
9 
    }
10    
11     
public 
String execute(){
12         message = "Struts2.3.4演示程序。"
;
13         
return "success"
;
14 
    }
15
16 }
启动Web服务器并将项目发布完成之后,我们可以执行如下请求来测试是否正确:

 (推荐,简洁的不一定是最好的,但一定是最容易理解的)

(如果Action没有重写execute方法,我们也可以通过指定其他方法来处理请求)

(如果没有指定请求的方法,那么默认调用execute方法,所以'?method=execute'是可以省略的)

由这里,我们又能发现一个问题:我能否使用.do来进行请求?为什么会出现404?

为什么我在配置web.xml文件时,<url-pattern>里是 /*,却不能使用.do结尾来请求?

这里,我们需要关心一下Struts2的另外一个文件:struts.properties

在其中我们配置:<constant name="struts.action.extension" value="action,do[,x]"/> 注[]为可选内容,可以是一个列表,我们也可以将其配置到struts.xml中

另外,我们可以配置:struts.i18n.encoding=UTF-8 来指定Web应用程序所使用的字符集,处理中文请求的时候多有用到。

转载地址:http://jbtlx.baihongyu.com/

你可能感兴趣的文章
Docker创建本地仓库
查看>>
成为Java GC专家(3)—如何优化Java垃圾回收机制
查看>>
awk操作应用
查看>>
ASP.NET 使用js插件出现上传较大文件失败的解决方法(ajaxfileupload.js第一弹)
查看>>
菜鸟也能搞定C++内存泄漏
查看>>
CentOS系统中常用查看日志命令
查看>>
线程和进程的通信方式以及区别
查看>>
mongoDB 入门指南、示例
查看>>
CentOS 7.0设置IP地址、网关DNS
查看>>
Spring生态顶级项目说明
查看>>
lamp搭建discuz缺少依赖 mysqli_connect()
查看>>
MySQL 设置cmd命令行登陆
查看>>
Solr 多核(MultiCore)配置
查看>>
[BZOJ 3170] [TJOI 2013] 松鼠聚会
查看>>
ARM 的异常处理
查看>>
字符串 值、输出效果、转义
查看>>
python类型
查看>>
第八周-学习进度条
查看>>
eigen quick reference
查看>>
Linux命令——screen
查看>>