gpt4 book ai didi

java - 源服务器未找到目标资源的当前表示或不愿透露存在的表示

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:53:21 26 4
gpt4 key购买 nike

enter image description here

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>

offers-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>

这里有什么问题吗?我无法访问 home.jsp。我实际上正在观看 spring 3.0 中的教程,并且我已经完成了视频中显示的内容。谁能在这里指出我的错误?

最佳答案

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

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

假设我们的 Controller 是

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

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

我们的 serlvet 目前的 url 模式是 /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

关于java - 源服务器未找到目标资源的当前表示或不愿透露存在的表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43931383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com