为了账号安全,请及时绑定邮箱和手机立即绑定

springmvc不能扫描到Controller,报404?

springmvc不能扫描到Controller,报404?

DIEA 2019-03-04 12:10:57
applicationContext.xml <?xml version="1.0" encoding="UTF-8"?>    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util"          xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"        xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:mvc="http://www.springframework.org/schema/mvc"        xsi:schemaLocation="            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd            http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd            http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd" >    <!-- 定义支持注解的HanlderMapping -->        <mvc:annotation-driven/>        <!-- 开启组件扫描,启用IOC注解配置 -->        <context:component-scan             base-package="com.caibai"/>                    <util:properties id="dbParams"             location="classpath:db.properties">        </util:properties>       代码如上,页面访问login.jsp静态页面是可以的,但是填写上登陆数据不能跳转,直接访问login.form也是报404错误,请各位大神看下是什么原因?
查看完整描述

8 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

找到症结所在了

我重新看了一下你的描述, 你说你可以直接访问.jsp页面!!!

那你的jsp就应该是直接放在根路径下的! 那你就不应该配置 prefix参数或者value="/"


而且之所以将view放置到WEB-INF下就只为了防止用户不经由控制器直接访问,这样会导致页面上的Model数据不存在,所以劝你也放到那里。

——————————————————————————————————


看起来配置都好像没什么问题, 建议你打个断点在.form方法里。


现在这个样子看起来像是Mapping映射成功了,但是返回的View视图没有找到。

你确认一下/WEB-INF/ok.jsp和/WEB-INF/login.jsp存不存在。


另外,我一般见到的 view好像没有直接扔到/WEB-INF/下的,都是/WEB-INF/views或者/WEB-INF/jsps目录下的。

你看看你是不是也这样放置的,如果是,那你就是配置文件写错了。


<bean id="viewResolver"   class="org.springframework.web.servlet.view.InternalResourceViewResolver">

    <property name="prefix" value="/WEB-INF/jsps/">

    </property>

    <property name="suffix" value=".jsp">

    </property>

</bean>


查看完整回答
反对 回复 2019-04-18
?
大话西游666

TA贡献1817条经验 获得超14个赞

404一般有两个原因,一个是RequestMapping写的不对或者没有找到,但是你的配置应该是正确的,另一个是你的模板没有,确认一下你返回的两个模板ok.html login.html 或者ok.jsp ok.html是否存在吧
另外404的页面上会有提示到底是哪个原因,把具体的错误贴出来吧

查看完整回答
反对 回复 2019-04-18
?
Qyouu

TA贡献1786条经验 获得超11个赞

@Controller下面没有@RequestMapping("/XXX")


查看完整回答
反对 回复 2019-04-18
?
森林海

TA贡献2011条经验 获得超2个赞

可以在controller要调用的方法中打个断点,看看请求是否进入了需要调用的方法。

  • 如果没进入,一般是配置映射出错。

  • 如果进入方法,则证明返回的"login"没被视图解析器解析到。


查看完整回答
反对 回复 2019-04-18
?
繁星coding

TA贡献1797条经验 获得超4个赞

从配置文件来看是没有什么问题的,因为报的是404错误,说明这个URL找不到,可以先尝试debug一下,我猜想应该是能进入Controller层的,问题还得结合你整个工程来看,你可以先试试,再结合【堕天使008】的回答,查问题


查看完整回答
反对 回复 2019-04-18
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

应该是jsp目录不对,没找到jsp文件吧


查看完整回答
反对 回复 2019-04-18
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

404 Not Found: The requested resource could not be found(请求资源未找到)

LoginController 仅使用 @Controller,未结合使用 @ResponseBody 或者@RestController,说明使用 View 请求重定向方式。"/tologin.form"、"/login.form"是否映射监听成功,从应用启动日志就能看到,类似如下日志:

2016-04-12 23:29:35.157 INFO 2398 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public java.lang.String hello.HelloController.index()

而你配置的springmvc Servlet映射只监听*.form并不会监听*.jsp重定向的请求,这些请求会落到Tomcat conf/web.xml配置的default Servlet。jsp文件放在哪里?

这样修改试试:


 <servlet-mapping>

     <servlet-name>springmvc</servlet-name>

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

 </servlet-mapping>


查看完整回答
反对 回复 2019-04-18
  • 8 回答
  • 0 关注
  • 2453 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号