我是靠谱客的博主 纯情黑夜,最近开发中收集的这篇文章主要介绍IDEA SpringMVC 访问页面404项目配置好后,启动服务器,初始页面能够顺利访问(localhost:8080的index.jsp),但是输入@RequestMapping中的路径会报404的错误。这个问题研究了大半天,网上的解决方式都用过了还是没有办法,然后将项目中的文件都调查了一遍误打误撞解决了,如果有了解原因的大神求解答一下:然后就启动tomcat结果报了404,IDEA也没有输出错误信息,controller里面的打印也没有打印出来,但是经过调查发现out和target生成的内,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
项目配置好后,启动服务器,初始页面能够顺利访问(localhost:8080的index.jsp),
但是输入@RequestMapping中的路径会报404的错误。
这个问题研究了大半天,网上的解决方式都用过了还是没有办法,
然后将项目中的文件都调查了一遍误打误撞解决了,如果有了解原因的大神求解答一下:
先是项目代码:
-
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.wanghai</groupId>
<artifactId>SpringMVC-03</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.6</version>
</dependency>
<!-- web开发(jsp) -->
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
-
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>myDispatchServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myDispatchServlet</servlet-name>
<!-- 过滤器filter需要/* -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
-
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:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
https://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- spring的静态资源过滤:让静态资源不走视图解析 -->
<mvc:default-servlet-handler/>
<!-- 扫描包 -->
<context:component-scan base-package="com.wanghai.controller"/>
<!-- 注解开发 -->
<mvc:annotation-driven/>
<!-- 视图解析(模板引擎 freeMarker,thymeLeaf) -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
-
controller
package com.wanghai.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/toHello")
public String showHello() {
System.out.println("进入了showHello方法!!");
return "hello";
}
}
-
其他配置
然后就启动tomcat结果报了404,IDEA也没有输出错误信息,controller里面的打印也没有打印出来,
但是经过调查发现out和target生成的内容不全:
误打误撞的操作就在这里了,IDEA里面有个工程配置文件,里面的内容是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web/WEB-INF/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$/web" relative="/" />
</webroots>
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
其中有两个component,然后鬼使神差地删掉了下面的这个component:
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web/WEB-INF/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$/web" relative="/" />
</webroots>
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
</module>
CLEAN一下重新启动服务器,目录结构发生变化啦(旧的明显矮一截。。。):
然后重新打开网页,页面就能够正常显示啦!!
但是这样调整的原因是什么呢,希望有大神指教指教~~
最后
以上就是纯情黑夜为你收集整理的IDEA SpringMVC 访问页面404项目配置好后,启动服务器,初始页面能够顺利访问(localhost:8080的index.jsp),但是输入@RequestMapping中的路径会报404的错误。这个问题研究了大半天,网上的解决方式都用过了还是没有办法,然后将项目中的文件都调查了一遍误打误撞解决了,如果有了解原因的大神求解答一下:然后就启动tomcat结果报了404,IDEA也没有输出错误信息,controller里面的打印也没有打印出来,但是经过调查发现out和target生成的内的全部内容,希望文章能够帮你解决IDEA SpringMVC 访问页面404项目配置好后,启动服务器,初始页面能够顺利访问(localhost:8080的index.jsp),但是输入@RequestMapping中的路径会报404的错误。这个问题研究了大半天,网上的解决方式都用过了还是没有办法,然后将项目中的文件都调查了一遍误打误撞解决了,如果有了解原因的大神求解答一下:然后就启动tomcat结果报了404,IDEA也没有输出错误信息,controller里面的打印也没有打印出来,但是经过调查发现out和target生成的内所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复