页面登录时,无法跳转action方法访问数据库,jsp提示404

页面登录时,无法跳转action方法访问数据库,jsp提示404


jsp页面上的链接访问的是一个action方法。结果我点击以后,发现跳转到了一个404页面。同时有Java报错:“The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.”

我使用在线翻译了一下该英文的意思:
源服务器找不到目标资源的当前表示形式,或者不愿意公开该表示形式存在。

同时,我在myeclipse中的action方法中打断点进行调试,发现程序压根没进入这个action方法。

这是什么鬼?我表示大写的问号,看不懂啊,怎么办呢。

我接着在网上看相关的帖子,找灵感和解决方案。

直到,看到网上说这边很可能是因为修改了web.xml文件后导致的。于是我猛然想起自己还真的修改了一下该xml配置文件。当时也是因为解决相关的中文参数传递保存的时候乱码问题,加了一个中文设置的过滤器filter。会不是这个东西的影响呢?

我之前对filter的配置也是不太清楚,相关规范也没有系统的听过,只是简单的会照猫画虎配置和使用。

出现我这个问题是不是因为我在之前的基础上添加了新的filter得格式不正确呢?

我最开始是直接将filter内容添加进了已有的filter标签中。结果Tomcat启动不报错。所以就一直没往这边想。现在有了这个提示,我立马开始搜索相关filter添加多个的配置格式和规范。

我突然发现filter和filter-mapping两个标签是成对儿出现的。添加多个filter是可以的,但是需要对应的filter和filter-mapping对依次放置。即如下写法。

<!--第一对filter-->
	<filter>
	  	<!-- 用于解决ssh整合后中文乱码问题-->
	    <filter-name>CharacterEncodingFilter</filter-name> 
	    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
	    <init-param> 
	      <param-name>encoding</param-name> 
	      <param-value>UTF-8</param-value> 
	    </init-param> 
	    <init-param> 
	      <param-name>forceEncoding</param-name> 
	      <param-value>true</param-value> 
	    </init-param>
  </filter>
  <filter-mapping>
	  	<filter-name>CharacterEncodingFilter</filter-name> 
	    <url-pattern>/*</url-pattern>
  </filter-mapping>
<!--第二对filter-->
  <filter>
	    <filter-name>struts2</filter-name>
	    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
	    <filter-name>struts2</filter-name>
	    <url-pattern>/*</url-pattern>
  </filter-mapping>

这样的话最起码就解决了因为web.xml方法的语法错误,导致项目正常启动(tomcat没有报错),而无法正常访问action方法了。至此问题解决。
希望我的回答能够帮助到你。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值