day06-2-springmvc自定义配置文件和编码问题
2021/10/7 6:10:57
本文主要是介绍day06-2-springmvc自定义配置文件和编码问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 2019年6月18日 - day06 - 上午 - 开始
- 21 - springMVC指定配置文件位置和名称、控制servlet的加载时间
- 路径
- 修改配置文件位置和名称
- init-param标签
- 22 - spring中的编码过滤器
- 查看CharacterEncodingFilter源码
- 在web.xml当中配置CharacterEncodingFilter
- web.xml
2019年6月18日 - day06 - 上午 - 开始
21 - springMVC指定配置文件位置和名称、控制servlet的加载时间
路径
在web项目当中分为两种路径,第一个路径叫做类路径,第二个路径叫做WebContent。
修改配置文件位置和名称
init-param标签
这个标签就是为了设置servlet或者filter对象当中已经存在的属性的值。
所以param-name标签里面的内容,就是对象的属性,是不能够改变的。
注意contextConfigLocation,就是DispatcherServlet当中的属性。
我们可以去源码当中寻找。
如图所示,contextConfigLoation就是servlet的属性。
22 - spring中的编码过滤器
乱码问题的解释:
springmvc提供了CharacterEncodingFilter的过滤器。
查看CharacterEncodingFilter源码
在web.xml当中配置CharacterEncodingFilter
CharacterEncodingFilter必须配置在web.xml的第一个。
因为缓存的关系,如果先有了其他过滤器,就不会再加载CharacterEncodingFilter了。
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>SpringMVC02</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping> <filter-name>HiddenHttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 设置springmvc配置文件的位置和名称 --> <init-param> <!-- contextConfigLocation名字不能改,对应DispatcherServlet的属性 --> <param-name>contextConfigLocation</param-name> <!-- classpath这个单词也不能写错,这表示类路径 --> <param-value>classpath:springMVC.xml</param-value> </init-param> <!-- 设置servlet的加载时间,默认在第一次请求访问时加载。 若设置此标签,会将servlet加载时间,提前到项目启动时。 此标签中可以写整数(正整数、负整数、0) 但是写0、负整数、不设置是一样的效果。 只有设置正整数,才会将servlet加载时间,提前到项目启动时。 值越小,优先级越高。 多个servlet的load-on-startup不能相同。 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
这篇关于day06-2-springmvc自定义配置文件和编码问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现