原始服务器没有找到目标资源的当前表示,或者不愿意透露存在该目标资源

sag*_*mbu 10 java spring

在此输入图像描述

web.xml中

    <?xml version="1.0" encoding="UTF-8"?>
     <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>springsecuritydemo</display-name>
<!--   <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list> -->
  <servlet>
    <description></description>
    <display-name>offers</display-name>
    <servlet-name>offers</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>offers</servlet-name>
    <url-pattern>/DispatcherServlet</url-pattern>
  </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

报价-sevlet.xml

    <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:context = "http://www.springframework.org/schema/context"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xmlns:mvc="http://www.springframework.org/schema/mvc"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-4.3.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc.xsd">

   <context:component-scan base-package="com.spring.security.web"></context:component-scan> 
   <mvc:annotation-driven></mvc:annotation-driven>

   <bean name="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsps/"></property>
    <property name="suffix" value=".jsp"></property>
   </bean>

</beans>
Run Code Online (Sandbox Code Playgroud)

这有什么不对?我无法访问home.jsp.我实际上是在春季3.0观看教程,我已经完成了视频中的显示.谁能在这里指出我的错误?

sag*_*mbu 10

问题出在servlet-mapping的url模式中.

 <url-pattern>/DispatcherServlet</url-pattern>
Run Code Online (Sandbox Code Playgroud)

让我们说我们的控制器是

@Controller
public class HomeController {
    @RequestMapping("/home")
    public String home(){
        return "home";
    }
}
Run Code Online (Sandbox Code Playgroud)

当我们在浏览器上点击某个URL时.调度程序servlet将尝试映射此URL.

我们的serlvet目前的url模式/Dispatcher意味着资源的供应{contextpath}/Dispatcher

但是当我们要求时,我们http://localhost:8080/home实际上要求的资源/不可用.所以要么我们需要说调度员servlet /来做服务

<url-pattern>/</url-pattern>
Run Code Online (Sandbox Code Playgroud)

我们将它从/ Dispatcher服务 /Dispatcher/*

例如

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" 
version="3.1">
  <display-name>springsecuritydemo</display-name>

  <servlet>
    <description></description>
    <display-name>offers</display-name>
    <servlet-name>offers</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>offers</servlet-name>
    <url-pattern>/Dispatcher/*</url-pattern>
  </servlet-mapping>

</web-app>
Run Code Online (Sandbox Code Playgroud)

并请求http://localhost:8080/Dispatcher/home 或只是/请求喜欢

http://localhost:8080/home
Run Code Online (Sandbox Code Playgroud)


Ker*_*ode 5

我在 Tomcat Run\Debug 配置中缺少应用程序上下文:在此处输入图片说明

添加它,解决了问题,我得到了正确的响应,而不是“源服务器没有找到...”