在web.xml中加入:前端
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<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>
一种方法对参数进行从新编码:web
String userName = new
String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")spring
ISO8859-1是tomcat默认编码,须要将tomcat编码后的内容按utf-8编码json
性能上Struts1>SpringMvc>Struts2
开发速度上SpringMvc和Struts2差很少,比Struts1要高
5.
SpingMvc中的控制器的注解通常用那个,有没有别的注解能够替代通常用@Conntroller注解,表示是表现层,不能用用别的注解代替.
用于类上,表示类中的全部响应请求的方法都是以该地址做为父路径。
直接在方法上面加上注解@RequestMapping,而且在这个注解里面写上要拦截的路径
能够在@RequestMapping注解里面加上method=RequestMethod.GET
能够在@RequestMapping注解里面加上params="type=test"
直接在形参里面声明这个参数就能够,但必须名字和传过来的参数同样
直接在方法中声明这个对象,SpringMvc就自动会把属性赋值到这个对象里面
直接在方法的形参中声明request,SpringMvc就自动把request对象传入
返回值能够有不少类型,有String, ModelAndView,当通常用String比较好
SpringMvc根据配置文件中InternalResourceViewResolver的前缀和后缀,用前缀+返回值+后缀组成完整的返回值
在返回值前面加"forward:"就可让结果转发,譬如"forward:user.do?name=method4" 在返回值前面加"redirect:"就可让返回值重定向,譬如"redirect:http://www.baidu.com"
经过ModelMap对象,能够在这个对象里面用put方法,把对象加到里面,前台就能够经过el表达式拿到
叫ModelAndView
能够在类上面加上@SessionAttributes注解,里面包含的字符串就是要放入session里面的key
经过Jackson框架就能够把Java里面的对象直接转化成Js能够识别的Json对象 具体步骤以下 1.加入Jackson.jar 2.在配置文件中配置json的映射 3.在接受Ajax方法里面能够直接返回Object,List等,但方法前面要加上@ResponseBody注解
要加上@ResponseBody注解
有两种写法,一种是实现接口,另一种是继承适配器类,而后在SpringMvc的配置文件中配置拦截器便可: <!-- 配置SpringMvc的拦截器 --> <mvc:interceptors> <!-- 配置一个拦截器的Bean就能够了 默认是对全部请求都拦截 --> <bean id="myInterceptor" class="com.et.action.MyHandlerInterceptor"></bean> <!-- 只针对部分请求拦截 --> <mvc:interceptor> <mvc:mapping path="/modelMap.do" /> <bean class="com.et.action.MyHandlerInterceptorAdapter" /> </mvc:interceptor> </mvc:interceptors>