一. 数据准备
test.jsp
html>
TitleController
package io.zhangjia.springmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class Test {
@RequestMapping("/test")
public String test(String name) {
System.out.println("name = " + name);
return "test";
}
}
二. 解决乱码
在《CSS表单》一文中我们讲过,form表单提交的默认方式是get,如果想修改其提交方式,则需要添加method属性,但是如果提交方式为post,传输中文便可能发生乱码,SpringMVC也为其提供了相关的解决方案,只需要在web.xml文件中添加以下内容即可:
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
characterEncodingFilter
/*
三. 静态资源访问
我们在jsp文件中,加入本地的一张图片:
html>
但是此时打开text.jsp,会发现图片无法正常显示,单独打开图片地址,会显示404,这是因为SpringMVC默认把图片的路径也当成了一个页面去处理,解决方法如下:
方法一,在spring-mvc.xml的beans标签中添加以下内容
即
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
方法二:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
如果不添加,那么静态资源可以访问,但是Controller的请求无法访问
四. 总结
1. 解决乱码
在web.xml中添加filter、filter-mapping标签,并进行相关配置
2. 访问静态资源
方法一:在spring-mvc.xml中添加
方法二:在spring-mvc.xml中添加