Java Tomcat没有';不呈现jsp页面
为什么Tomcat不呈现jsp页面?如果我告诉servlets容器URL:Java Tomcat没有';不呈现jsp页面,java,jsp,tomcat,servlets,intellij-idea,Java,Jsp,Tomcat,Servlets,Intellij Idea,为什么Tomcat不呈现jsp页面?如果我告诉servlets容器URL:http://localhost:8080/contacts这没关系(因为控制器处理GET-request),但每当我直接告诉Tomcat jsp在项目中的什么位置时,http://localhost:8080/WEB-INF/views/list.jsp而不是get 404错误 这是IntelliJ IDEA项目结构: Mypom.xml: <dependencies> <!-- h
http://localhost:8080/contacts
这没关系(因为控制器处理GET-request),但每当我直接告诉Tomcat jsp在项目中的什么位置时,http://localhost:8080/WEB-INF/views/list.jsp
而不是get
404错误
这是IntelliJ IDEA项目结构:
Mypom.xml
:
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<!--support @Service, @Repository -->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-orm -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<!-- teg library -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
<scope>test</scope>
</dependency>
</dependencies>
jsp:
标题
联系人名单
一些信息!
如servlet规范§10.5所述:
。。。除了静态资源打包在JAR文件中的情况外,客户端访问WEB-INF/目录中资源的任何请求都必须返回SC_NOT_FOUND(404)响应
i、 e.WEB应用程序的WEB-INF目录中唯一可访问的资源是那些打包在WEB片段JAR中的资源
您可以使用请求分派器在WEB-INF目录中包含或转发JSP(或其他资源),但客户端可能无法直接访问它
这会阻止最终用户访问可能属于您的配置或类文件本身的潜在敏感信息。“@RequestMapping(“/contacts”)”告诉Tomcat您的web应用程序根目录在哪里。由于“WEB-INF/views”不是servlet映射的一部分,Tomcat无法检索list.jsp。@dsp\u用户您在这里所说的在几个级别上是错误的
@RequestMapping(“/contacts”)
告诉Spring servlet何时将传入请求定向到此控制器/contacts
是相对于web应用程序根+SpringServlet映射url模式的。它不是应用程序根本身。i、 e./spring servlet映射/contacts
@Controller
@RequestMapping("/contacts")
public class ContactController {
@RequestMapping(method = RequestMethod.GET)
public String list(Model model) {
return "list";
}
}
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%--
Created by IntelliJ IDEA.
User: Игорь
Date: 07.10.2017
Time: 13:18
To change this template use File | Settings | File Templates.
--%>
<html>
<head>
<title>Title</title>
</head>
<body>
<% System.out.println("Inside JSP file!!!!!!!!!!!!!!!!!!!"); %>
<h1>Contact Listing</h1>
SOME MESSAGE!
</body>
</html>