您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

原始服务器找不到目标资源的当前表示形式,或者不愿意公开存在的表示形式

原始服务器找不到目标资源的当前表示形式,或者不愿意公开存在的表示形式

问题出在servlet映射的url模式中。

 <url-pattern>/DispatcherServlet</url-pattern>

假设我们的控制器是

@Controller
public class HomeController {
    @RequestMapping("/home")
    public String home(){
        return "home";
    }
}

当我们在浏览器中点击某些URL时。调度程序servlet将尝试映射此URL。

当前我们Serlvet的网址模式是/Dispatcher指从{contextpath}/Dispatcher

但是当我们请求时,我们http://localhost:8080/home实际上是在询问/哪些资源不可用。所以要么我们需要说调度程序servlet就可以/通过

<url-pattern>/</url-pattern>

我们通过/ 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>

并要求http://localhost:8080/Dispatcher/home或只是/要求像

http://localhost:8080/home
其他 2022/1/1 18:28:48 有385人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶