请教: springmvc访问静态页面正常,访问Controller出现404

青婷~ 2017-08-02 03:12:02
如下新建一个spring+springmvc+mybatis项目


问题:项目启动之后静态页面可以访问,Controller类里面的方法访问报404是怎么回事,mvc配置如下



web.xml 配置如下


配置文件都检查了没问题,请指点下是哪里的问题,谢谢。
...全文
919 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37697154 2018-01-04
  • 打赏
  • 举报
回复
你好,我遇到你同样的问题了,导入的spring,jar包是4.0的,所以你修改的地方我也尝试改成3.0,最后还是没能解决掉!
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 16 楼 ctrl7416 的回复:
看一下 启动时 spring输出 的 log 有没有把你的controller 注入 Mapped URL path [/xxx/xxx/xxxx] onto handler 'xxxController'
你好,问题已解决,把 xsi:schemaLocation 中的4.3的版本换成4.0或者3.0就能读取了,但是不知道为什么会这样, 小白~~ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 修改后: xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 17 楼 ctrl7416 的回复:
感觉 你的config 这个包 有点怪怪的啊. 好久 没用eclipse了. 应该不是 这个样子的吧? 打开eclipse 瞧了瞧...确实 不一样.
你好,包没问题,找到原因了,把 xsi:schemaLocation 中的4.3的版本换成4.0或者3.0就能读取了,但是不知道为什么会这样, 小白~~ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 修改后: xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
_小_小_ 2017-08-02
  • 打赏
  • 举报
回复
感觉 你的config 这个包 有点怪怪的啊. 好久 没用eclipse了. 应该不是 这个样子的吧?
打开eclipse 瞧了瞧...确实 不一样.
_小_小_ 2017-08-02
  • 打赏
  • 举报
回复
看一下 启动时 spring输出 的 log 有没有把你的controller 注入 Mapped URL path [/xxx/xxx/xxxx] onto handler 'xxxController'
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 12 楼 yanghaimingg 的回复:
这个感觉看不出问题了,你断点能进controller吗?还有修改配置文件重启了没
访问就报404,还没进入到controller,应该是controller 配置哪里出了问题,重启了也是一样
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 13 楼 shen19920619 的回复:
classpath:spring-mvc.xml
什么意思? 这个地方我是这样配的,文件在config包里面 <servlet> <description>spring mvc servlet</description> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <description>spring mvc 配置文件</description> <param-name>contextConfigLocation</param-name> <param-value>classpath:config/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
ninuxGithub 2017-08-02
  • 打赏
  • 举报
回复
classpath:spring-mvc.xml
mtian2020 2017-08-02
  • 打赏
  • 举报
回复
这个感觉看不出问题了,你断点能进controller吗?还有修改配置文件重启了没
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 8 楼 java_low 的回复:
你配置视图解释类,定义跳转的文件路径写错了吧 应该是<property name="prefix" value="/WEB-INF/" />吧
你看错了吧,我直接配的是根目录 / <!-- 配置静态资源,直接映射到对应的文件夹,不被DispatcherServlet处理,3.04新增功能,需要重新设置spring-mvc-3.0.xsd --> <mvc:resources mapping="/images/**" location="/images/" /> <mvc:resources mapping="/js/**" location="/js/" /> <mvc:resources mapping="/css/**" location="/css/" /> <mvc:resources mapping="/html/**" location="/" /> <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 --> <property name="prefix" value="/" /> <property name="suffix" value=".jsp" /> </bean>
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 9 楼 yanghaimingg 的回复:
工程名对了吗,静态能访问的路径发下


静态jsp可以访问
mtian2020 2017-08-02
  • 打赏
  • 举报
回复
工程名对了吗,静态能访问的路径发下
java_low 2017-08-02
  • 打赏
  • 举报
回复
你配置视图解释类,定义跳转的文件路径写错了吧
应该是<property name="prefix" value="/WEB-INF/" />吧
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 5 楼 yanghaimingg 的回复:
<!-- 指定Sping组件扫描的基本包路径 --> <context:component-scan base-package="*.*" > <!-- 自动扫描Controller --> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> 没有配置自动扫描吧
引用 5 楼 yanghaimingg 的回复:
<!-- 指定Sping组件扫描的基本包路径 --> <context:component-scan base-package="*.*" > <!-- 自动扫描Controller --> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> 没有配置自动扫描吧
改成你说的这种方式访问也还是404: <context:component-scan base-package="com.sky.logic.controller" > <!-- 自动扫描Controller --> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 5 楼 yanghaimingg 的回复:
<!-- 指定Sping组件扫描的基本包路径 --> <context:component-scan base-package="*.*" > <!-- 自动扫描Controller --> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> 没有配置自动扫描吧
spring-mvc.xml中这样配置的: <context:component-scan base-package="com.sky.logic.controller" />
mtian2020 2017-08-02
  • 打赏
  • 举报
回复
<!-- 指定Sping组件扫描的基本包路径 --> <context:component-scan base-package="*.*" > <!-- 自动扫描Controller --> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> 没有配置自动扫描吧
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
自己顶一下,仔细看了下配置 还是没什么收获,求各位指教
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 1 楼 qq_29258655 的回复:
报错信息也不贴


不好意思,新手不太熟悉,请见谅。报错信息如下截图
青婷~ 2017-08-02
  • 打赏
  • 举报
回复
引用 楼主 kevin_spa 的回复:
如下新建一个spring+springmvc+mybatis项目


问题:项目启动之后静态页面可以访问,Controller类里面的方法访问报404是怎么回事,mvc配置如下



web.xml 配置如下


配置文件都检查了没问题,请指点下是哪里的问题,谢谢。



不好意思,错误提示就是404

qq_29258655 2017-08-02
  • 打赏
  • 举报
回复
报错信息也不贴

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧