你可以把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。这样就会避免不需要过滤的资源也要经过过滤器的问题
解决方案 »
- 求一份servlet api文档,chm格式的!!
- 多用户登录 action设计的问题
- applet和JNI的问题
- 如何通过<S:ACTION标签获取ACTION的LIST并加载到下拉框
- struts2中数组(或List\Map等也行)如何绑定jsp中的<s:checkbox>呢?
- 怎样从servlet传一个list对象给jsp
- 如何引用EJB
- 【Hibernate 如何连接 Windows ODBC ?】
- ASP 能都做到,在WEB中编辑WORD 文档!! JSP 如何实现?
- 新手十万火急求救
- 谁能提供一些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页面。
谢谢解答,有没有其他更好的方法呢?