你可以把url-pattern的值改为*.action,这样就不会对所的的请求都要转到struts2,了。对于页面中有struts2标签的jsp都用一个action转向这个jsp而不是直接访问这个jsp.
比如:你直接输入login.jsp转到登录页面,现在你要输入login.action由login.action再转向login.jsp,而不是直接访问login.jsp。这样就会避免不需要过滤的资源也要经过过滤器的问题
比如:你直接输入login.jsp转到登录页面,现在你要输入login.action由login.action再转向login.jsp,而不是直接访问login.jsp。这样就会避免不需要过滤的资源也要经过过滤器的问题
解决方案 »
- Tomcat 6.0.18
- 浏览器在第一次请求服务器时是否就带有session
- 绑定域名之后,session保存不了了??
- j2ee系统如何简单实现"服务器版转单机版"
- java取得复选框数据(数组)添加到数据库的某一列
- 关于xml的问题,高手请进啊!!!急
- getWeek(java.util.Date start,java.util.Date end)
- EJB MODULE 编译问题,在Jbuilder中,在线等待,解决即给分
- 那位朋友有维新的JAVA视频培训课程,我用张孝祥老师的全套视频和您换着看
- 关于一个sql问题:::sql的列名可以通过传参方式吗!进入看详细!
- 谁能提供一些JacORB的详细资料,中文的最好.网上有的那种简单配置就不用了,谢谢了.
- 多IP的tomcat配置
<constant name="struts.mapper.class" value="org.apache.struts2.dispatcher.mapper.Restful2ActionMapper">
</constant>
<constant name="struts.enable.SlashesInActionNames" value="true"></constant>
<constant name="struts.action.extension" value=""></constant>
也就说,我的action请求是不带.action后缀的。比如,我要请求id为123的书,那么我输入的url就是:
http://localhost/book/123
而不是
http://localhost/book.action?id=123
所以楼上说的方法可能并不适用。另外,我把我的struts.xml里这些constant改为默认值后,也试过楼上的方法,即把url-pattern由/*改为*.action,但是在server解析jsp tag时总会抛错:
org.apache.jasper.JasperException: The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)我在网上搜了一下,似乎是个很常见的问题,不知道大家有没有遇到过这个问题,是怎么解决的?
默认的action
<default-action-ref name="index"/>
<action name="index">
<result>/index.jsp</result>
</action>
这样话 如果找不资源就直接转到jsp了
或者在默认包中最后写个通用的action
<action name="*">
<result>/index.jsp</result>
</action>
我想要的结果是对于确实存在的资源,比如css,image,javascript,返回该资源;对于不存在的资源,重定向到一个特定的出错页面,而不是tomcat的404页面。
谢谢解答,有没有其他更好的方法呢?