struts2.1.*中再实现了一个servlet的方法
2014-03-11 21:17
246 查看
学习Struts2也有一段时间了,今天用Servlet写了一个验证码,然后搬到Struts2中,惊奇地发现Servlet无法访问,出现404错误!后来折腾了半天,终于找出原因了。这也算我学习中的一个重大发现吧。写下来给大家分享一下:
在李刚编写的《Struts2权威指南》一书中,他用的是Struts2.0*版本。而我在开发中用的是Struts2.1*版本的构包。其中有很大不同就是,新版本对servlet实现了过滤,而旧版本并未对其进行过滤!
原来我的web.xml定义了一个struts的Filter过滤所有用户请求,如下:
再实现了一个servlet。这样是不能访问到这个Servlet的,因为struts将其拦截了。
为了能够实现servlet,我们可以如下的方式定义struts的Filter:
只需对过滤规则改一改,我们就能够解决在Strut2中出现的Servlet的404错误.
这让我思索了一个问题:我们的java的包,不断地在更新中,每一次更新也许都会做出很大的改动,我们作为一个程序爱好者,不断地跟上最前沿的技术是必不可少的,但是我们在追赶潮流的时候,不要迷失了方向。要主意每一个细节,追赶潮流是要付出代价的。我就是其中的一个。
所以我们要时刻保持冷静的头脑,当用新的技术的时候,我们不能够死死地陷入旧的编程习惯的死胡同中,寻求更本就不可能出现的错误!而应该去发布新技术的网站去看看他们的最新文档,看看他们的原则,看看他们对哪些地方做出了改动。这样我们才能一路顺风地解决问题。
我今天钻进了两个大的死胡同,一个是Servlet不能方位,另外一个就是Ajax的Json插件两个版本中的很大程度上的不同。实际上对于Struts2.1*版本的Json插件已经与Struts的ActionSupport相兼容了,而低版本的Json插件只是实现了Struts的Action接口。
生活也是这样,我们要活到老,学到老!只有掌握最佳的方法,我们才能更有城府。
在李刚编写的《Struts2权威指南》一书中,他用的是Struts2.0*版本。而我在开发中用的是Struts2.1*版本的构包。其中有很大不同就是,新版本对servlet实现了过滤,而旧版本并未对其进行过滤!
原来我的web.xml定义了一个struts的Filter过滤所有用户请求,如下:
<!-- 定义Struts2的FilterDispathcer的Filter --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 --> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
为了能够实现servlet,我们可以如下的方式定义struts的Filter:
<!-- 定义Struts2的FilterDispathcer的Filter --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <!-- FilterDispatcher用来初始化struts2并且处理.action和.jsp的WEB请求。 --> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> |
这让我思索了一个问题:我们的java的包,不断地在更新中,每一次更新也许都会做出很大的改动,我们作为一个程序爱好者,不断地跟上最前沿的技术是必不可少的,但是我们在追赶潮流的时候,不要迷失了方向。要主意每一个细节,追赶潮流是要付出代价的。我就是其中的一个。
所以我们要时刻保持冷静的头脑,当用新的技术的时候,我们不能够死死地陷入旧的编程习惯的死胡同中,寻求更本就不可能出现的错误!而应该去发布新技术的网站去看看他们的最新文档,看看他们的原则,看看他们对哪些地方做出了改动。这样我们才能一路顺风地解决问题。
我今天钻进了两个大的死胡同,一个是Servlet不能方位,另外一个就是Ajax的Json插件两个版本中的很大程度上的不同。实际上对于Struts2.1*版本的Json插件已经与Struts的ActionSupport相兼容了,而低版本的Json插件只是实现了Struts的Action接口。
生活也是这样,我们要活到老,学到老!只有掌握最佳的方法,我们才能更有城府。
相关文章推荐
- 使用Struts的ForwardAction实现转发到一个Servlet组件
- 开辟一个二维数组,有10*8个元素,用随机数填充,按照下面的方法用函数实现查找一个数是否存在
- js实现默认或者触发一个事件选中元素内容的方法
- 一个简单的瀑布流实现方法
- 一个简单的jsp+servlet实例,实现简单的登录
- Servlet 实现重定向几种方法
- 给定rand5(),实现一个方法rand7()。
- CXF中有一个EndPoint.publish方法,可以实现发布。
- J2EE中Servlet实现的三种方法
- 一个检验身份证合法性用PLSQL实现的方法
- ORANGE’S:一个操作系统的实现-chap4之:软盘结构(磁头号和起始扇区的计算方法)
- Servlet、SPringMVC、Struts等防止表单重复提交的多种处理方法
- Struts,MVC 的一种开放源码实现用这种servlet和JSP框架管理复杂的大型网站
- python实现每次处理一个字符的三种方法
- 关于在cocos2d-x中一个精灵移动到 另外一个地点的实现方法。
- Python实现将一个正整数分解质因数的方法分析
- Struts,MVC 的一种开放源码实现用这种servlet和JSP框架管理复杂的大型网站
- C# 在主窗口中打开一个带有计算器功能的子窗口,有三种实现方法
- 使用ffmpeg实现合并多个音频为一个音频的方法
- asp.net 参数不同共用一个页面的实现方法