在这次软件工程时间的短学期课程中,我学到了很多东西,现在重点说一下在本次课程中对我来说比较难也是比较感兴趣的地方:关于映射请求和返回值。
首先是@RequestMapping映射请求的一些知识点
1.Spring MVC使用@RequestMapping注解为控制器制定可以处理哪些URL请求
2.在控制器的类定义及方法定义处都可标注
类定义处:提供初步的请求映射信息。相对于WEB应用的根目录。
方法处:提供进一步的细分映射信息。相对于类定义处的URL,若类定义处未标注@RequestMapping,则方法处标记的URL相对于WEB应用的根目录。
3.DispatcherServlet接货请求后,就通过控制器上@RequestMapping提供的映射信息确定请求所对应的处理方法。
@RequestMapping修饰类:
@RequestMapping修饰方法:
[email protected]除了可以使用请求URL映射请求外,还可以使用请求方法。、请求参数及请求头映射请求。
[email protected]的value、method、params及heads分别表示请求URL、请求方法、请求参数及请求头的映射条件,他们之间是与的关系,联合使用多个条件可让请求映射更加精确化。
另外还有一些零散的知识点,在此稍加记录:
1.返回逻辑视图名:真正视图(jsp路径)=前缀+逻辑视图名+后缀
2.redirect重定向特定:浏览器地址栏中的url会变化,修改提交的request数据无法传到重定向的地址。因为重定向后重新进行request(request无共享)
3.forward页面转发:通过forward进行页面转发,浏览器地址栏url不变,request可以共享
4.controller方法的返回值
返回void:
在controller方法形参上可以定义request和response,使用request或response指定响应结果。
使用request转向页面,如下:
request.getRequestDispatcher("页面路径”).forward(request,response);
可以通过response页面重定向:
response.sendRedirect("url")
可以通过response指定响应结果,例如响应json数据如下:
response,setCharacterEncoding("utf-8");
response,setContentType("application/json;charset=utf-8");
response.getWriter().write("json串");