发表于: 2018-01-13 22:12:48
1 743
1、在控制台出现中文编码错误时,需要加入的过滤器
<filter-name>characterEncoding</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>
很简单很实用的一个过滤器,当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,那这个类就可以出场了。filter 翻译过来就是过滤器的意思。
encoding----->用来指定一个具体的字符集
过滤器就像上面那样被配置到web.xml了,当请求被提交之后,过滤器会判断request.getCharacterEncoding()是否为null,如果是null那么就会进行request.setCharacterEncoding("UTF-8")的操作,如果不是null那么过滤器什么也不会做。CharacterEncodingFilter类可以通过简单配置来帮我们实现字符集转换的功能。
2、HiddenHttpMethodFilter过滤器
浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求,该过滤器为HiddenHttpMethodFilter。
HiddenHttpMethodFilter的父类是OncePerRequestFilter,它继承了父类的doFilterInternal方法,工作原理是将jsp页面的form表单的method属性值在doFilterInternal方法中转化为标准的Http方法,即GET,、POST、 HEAD、OPTIONS、PUT、DELETE、TRACE,然后到Controller中找到对应的方法。_method这个参数名是 HiddenHttpMethodFilter 默认的。
<param-name>methodParam</param-name>
<param-value>_method</param-value>
3、在web.xml中通过contextConfigLocation配置spring,contextConfigLocation参数定义了要装入的 Spring 配置文件。如果想装入多个配置文件,可以在 <param-value> 标记中用逗号作分隔符。
4、在web.xml里配置Listener,我们要实现一个请求home.htm,然后返回home.jsp视图资源。则
当home.htm请求到达时,我们需要DispatcherServlet来处理该请求,所以首先配置该Servlet
第一步需要在web.xml中配置DispatcherServlet,使该servlet来接收请求并做进一步处理,
这一步操作就是springmvc的入口。配置的se'rvlet-name要上下一致。
然后要在webapp文件夹下新建一个包存放jsp页面,存在web-inf中的话,文件对于浏览器是隐藏的,无法显示。
在servlet.xml文件中配置好jsp的存放路径,这里会用到前缀后缀,我讲错jsp的存放位置了,之前说这个放在web.xml,说成了是前端拦截器。而且这里的路径在创建新的包的时候出现名称没对应上。
如果DispatcherServlet拦截"/",为了实现REST风格,拦截了所有的请求,那么同时对*.js,*.jpg等静态文件的访问也就被拦截了。要解决这个问题,需要激活Tomcat的defaultServlet来处理静态文件。
1、弄懂controller里面的语句
2、结合周会wiki周总结
学习的方法不对,经过周会上师兄的解答和提问,发现自身存在的问题,那就是在无限照搬例子的过程中,没有进行敲和理解,很多东西过一遍就忘,重要的内容反而没去消化,学的内容似是而非。
解决:学习真的不是一蹴而就的,要经过自己大脑去理解后东西才是自己的收获
是否有延期风险:有,任务进度缓慢,学习方向不明,乱撞。
解决办法:在周会上师兄们都给了我新的方式方法去学习。
评论