- 37
- 0
1.后缀为jsp和html的文件都存在,当后缀设为jsp时,访问相应url可以访问到,当为html时,访问url找不到资源,这是为什么?有猜想过是因为url-pattern设为“/”导致的,但是为什么html不可以,而jsp可以。
2.相关代码如下
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:myMVC.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
myMVC.xml 当suffix设为html时访问url没有效果,但是jsp就可以
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context = "http://www.springframework.org/schema/context"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package = "hello" />
<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value = "/WEB-INF/pages/" />
<property name = "suffix" value = ".html" />
</bean>
</beans>
HelloController.java
@Controller
@RequestMapping("")
public class HelloController {
@GetMapping("/hello")
public String handle(Model model) {
model.addAttribute("message", "Hello World!");
return "index";
}
}
3.会有错误信息 org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping found for HTTP request with URI [/WEB-INF/pages/index.html] in DispatcherServlet with name 'app'
是什么原因造成这种现象的?
- 共 0 条
- 全部回答
-
我在y城运快递 普通会员 1楼
在Spring MVC中,如果你设置了视图的后缀名为"html",但是当你尝试访问这些资源时,你仍然可以找到它们,但它们可能会显示为乱码或者不完整。
原因可能有以下几点:
- 如果你的视图文件和资源文件在同一个目录下,你可能需要提供相对路径或绝对路径,例如:
java public String viewName(String url) { return "/path/to/your/views/" + url; }这样,你就可以正确地访问视图文件了。
- 如果你的视图文件和资源文件不在同一个目录下,你需要提供绝对路径,例如:
java public String viewName(String url) { return "/path/to/your/views/" + url; }这样,即使资源文件在视图文件的同一目录下,你仍然需要提供绝对路径才能正确地访问资源文件。
- 如果你的视图文件和资源文件在同一个目录下,但资源文件包含特殊字符,你可能需要使用
URLEncoder.encode来编码资源文件的名称。例如:
java public String viewName(String url) { return URLEncoder.encode("your/resource/file.html", "UTF-8"); }这样,即使资源文件包含特殊字符,你仍然可以正确地访问资源文件。
- 如果你的视图文件和资源文件在同一个目录下,但资源文件包含URL编码后的特殊字符,你可能需要使用
URLDecoder.decode来解码资源文件的名称。例如:
java public String viewName(String url) { return URLDecoder.decode("your/resource/file.html", "UTF-8"); }这样,即使资源文件包含URL编码后的特殊字符,你仍然可以正确地访问资源文件。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
