访问Struts2的Action路径问题

访问Struts2的Action路径问题,第1张

一般来说,只要web.xml中配置正确的映射路径,struts.xml能够实例化action就不会出现404错误,可能是web.xml中的filter-mapping出现问题

<filter>

<filter-name>action</filter-name>

<filter- class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

</filter>

<filter-mapping>

<filter-name>action</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

你把<url-pattern>/*</url-pattern>的内容改动后调试看看,good luck!

----------------------------

Struts2的路径和struts1的一致,/ 表示web应用更目录(就是GraPro目录),在struts2中FilterDispatcher就是根据你在web.xml filter-mapping中配置的路径去映射你的请求路径(/news.action),

如果匹配,就加载struts.xml中定义的actionMapping,然后转交action处理请求

你可以参考:http://www.blogjava.net/max/archive/2006/10/10/74353.html的说明吧

---------------------

因为response.sendRedirct("news.action")是采用浏览器重新定位的方法去请求的,相当于你在地址栏直接输http://localhost:8080/GraPro/news.action

而jsp:forward 是将request和response作为参数传递请求,它会读取web根目录+action path 作为请求URL

1、action就相当于你相对路径http://localhost:8080/myweb/后面加上你在action里面写那个。

2、所以你要访问ServletTest,你的访问路径就写成http://localhost:8080/myweb/ServletTest/,它与你当前的jsp页面位置无关。

这个是配置前台提交请求的参数,*是通配符,表示所有的,.action是后缀名,比如:

http://localhost:8080/user/login.action

localhost:8080一般是访问的地址,我这里用的是本机也就是localhost,user表示项目名,login.action表示请求,这样就可以通过上面的配置在struts配置文件中找到名为login的action动作


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11434118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存