2399938767 发表于 2021-10-20 21:07:38

TomCat 404怎么办啊

web.xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!--1.注册servlet-->
   <servlet>
       <servlet-name>SpringMVC</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       <!--通过初始化参数指定SpringMVC配置文件的位置,进行关联-->
       <init-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>classpath:springmvc-servlet.xml</param-value>
       </init-param>
       <!-- 启动顺序,数字越小,启动越早 -->
       <load-on-startup>1</load-on-startup>
   </servlet>

   <!--所有请求都会被springmvc拦截 -->
   <servlet-mapping>
       <servlet-name>SpringMVC</servlet-name>
       <url-pattern>/</url-pattern>
   </servlet-mapping>
</web-app>


springmvc-servlet.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
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       https://www.springframework.org/schema/mvc/spring-mvc.xsd">

   <!-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 -->
   <context:component-scan base-package="com.test.controller"/>
   <!-- 让Spring MVC不处理静态资源 -->
   <mvc:default-servlet-handler />
   <!--
   支持mvc注解驱动
       在spring中一般采用@RequestMapping注解来完成映射关系
       要想使@RequestMapping注解生效
       必须向上下文中注册DefaultAnnotationHandlerMapping
       和一个AnnotationMethodHandlerAdapter实例
       这两个实例分别在类级别和方法级别处理。
       而annotation-driven配置帮助我们自动完成上述两个实例的注入。
    -->
   <mvc:annotation-driven />

   <!-- 视图解析器 -->
   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
         id="internalResourceViewResolver">
       <!-- 前缀 -->
       <property name="prefix" value="/WEB-INF/jsp/" />
       <!-- 后缀 -->
       <property name="suffix" value=".jsp"/>
   </bean>
</beans>

测试类代码
@Controller
public class HelloController {

   //真实访问地址 : 项目名/HelloController/hello
   @RequestMapping("/hello")
   public String sayHello(Model model){
       //向模型中添加属性msg与值,可以在JSP页面中取出并渲染
       model.addAttribute("msg","hello,SpringMVC");
       //web-inf/jsp/hello.jsp
       return "hello";
}
}

控制台输出
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server.服务器版本: Apache Tomcat/8.5.72
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器构建:      Oct 1 2021 15:15:33 UTC
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器版本号:      8.5.72.0
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 操作系统名称:      Windows 10
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS.版本:         10.0
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 架构:            amd64
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java 环境变量:   C:\Program Files\Java\jre1.8.0_91
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java虚拟机版本:    1.8.0_91-b15
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM.供应商:      Oracle Corporation
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE:   C:\Users\111\Desktop\tomcat\apache-tomcat-8.5.72
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME:   C:\Users\111\Desktop\tomcat\apache-tomcat-8.5.72
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:       -Dcatalina.base=C:\Users\111\Desktop\tomcat\apache-tomcat-8.5.72
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:       -Dcatalina.home=C:\Users\111\Desktop\tomcat\apache-tomcat-8.5.72
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:       -Dwtp.deploy=C:\Users\111\Desktop\tomcat\apache-tomcat-8.5.72\webapps
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:       -Djava.endorsed.dirs=C:\Users\111\Desktop\tomcat\apache-tomcat-8.5.72\endorsed
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数:       -Dfile.encoding=GBK
十月 20, 2021 8:57:08 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: 在java.library.path:上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
十月 20, 2021 8:57:08 下午 org.apache.coyote.AbstractProtocol init
信息: 初始化协议处理器 ["http-nio-8080"]
十月 20, 2021 8:57:08 下午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
信息: Using a shared selector for servlet write/read
十月 20, 2021 8:57:08 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 956 ms
十月 20, 2021 8:57:08 下午 org.apache.catalina.core.StandardService startInternal
信息: 正在启动服务
十月 20, 2021 8:57:08 下午 org.apache.catalina.core.StandardEngine startInternal
信息: 正在启动 Servlet 引擎:
十月 20, 2021 8:57:10 下午 org.apache.jasper.servlet.TldScanner scanJars
信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
十月 20, 2021 8:57:10 下午 org.apache.catalina.core.ApplicationContext log
信息: No Spring WebApplicationInitializer types detected on classpath
十月 20, 2021 8:57:10 下午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
警告: 使用创建会话ID生成的SecureRandom实例花费了毫秒。
十月 20, 2021 8:57:11 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring DispatcherServlet 'SpringMVC'
十月 20, 2021 8:57:11 下午 org.springframework.web.servlet.FrameworkServlet initServletBean
信息: Initializing Servlet 'SpringMVC'
十月 20, 2021 8:57:12 下午 org.springframework.web.servlet.FrameworkServlet initServletBean
信息: Completed initialization in 1418 ms
十月 20, 2021 8:57:12 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录
十月 20, 2021 8:57:12 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录的部署已在毫秒内完成
十月 20, 2021 8:57:12 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录
十月 20, 2021 8:57:13 下午 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
十月 20, 2021 8:57:13 下午 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
十月 20, 2021 8:57:13 下午 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: attributeAdded('StockTicker', 'async.Stockticker@26fb8cc7')
十月 20, 2021 8:57:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录的部署已在毫秒内完成
十月 20, 2021 8:57:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录
十月 20, 2021 8:57:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录的部署已在毫秒内完成
十月 20, 2021 8:57:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录
十月 20, 2021 8:57:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录的部署已在毫秒内完成
十月 20, 2021 8:57:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录
十月 20, 2021 8:57:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录的部署已在毫秒内完成
十月 20, 2021 8:57:13 下午 org.apache.coyote.AbstractProtocol start
信息: 开始协议处理句柄["http-nio-8080"]
十月 20, 2021 8:57:13 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 4710 ms

巴巴鲁 发表于 2021-10-21 08:57:46

设置拦截器干嘛,还有我记得在WEB-INF下的文件不能直接访问,需要在web.xml反射才行

lcy186 发表于 2021-10-25 11:12:13

你这没有jsp的代码啊,而且控制层返回的的字符串,jsp哪里是用ajax接收的吗?如果你写的是同步刷新,最好把字符串放session里,返回的字符串写页面位置,如"web-inf/jsp/hello.jsp"。
页: [1]
查看完整版本: TomCat 404怎么办啊