1).前端发出请求,直接跳转到其他界面,而不用经controller处理
需要再xml文件中进行如下配置:
首先前端访问的地址为:
而在controller端没有对应的接口去接收这个访问地址,我们可以在xml中配置如下:
默认在success加上前缀和后缀。
2).指定请求方式
在controller界面接收前端的匹配名的return时候加上:forward,redirect。
forward:请求转发 redirect:request
需要加上前缀名和后缀名
@RequestMapping(value="testModelMap")
public String testModelMap(ModelMap mm) {//success
Student student = new Student();
student.setId(2);
student.setName("cb");
mm.put("student", student);//request域
//forward:请求转发 redirect:请求重定向
return "redirect:/view/success.jsp";
}
3).处理静态资源:不可能与用户交互的资源(html,css,图片…)
在springMVC中 如果直接访问静态资源:404.原因:之前将所有请求 通过通配符 拦截 进而交给springMVC的入口DispatcherServlet去处理:找该请求映射对应的@request
解决方案:
只需增加两个个配置 springMVC.xml 中
<!-- 该注解会让springmvc 接受到一个请求没有对应的@requestmapping时,将该请求交给服务器默认的Servlet去处理(直接访问) -->
<mvc:default-servlet-handler>
<!-- 此配置是springMVC的基础配置,很多功能都需要通过该注解来协调 -->
<mvc:annotation-driven></mvc:annotation-driven>`
这样controler在接收到无法解析的前端指令后会直径请求文件的根路径对应。这样就能直接访问到静态的资源了。
4).类型转换
a springMVC自带一些 常见的类型转换器
public String testDelete(@PathVariable("id") Integer id)
既可以接收int类型的数据id,也可以接收String类型的id
b 可以自定义类型转换器
编写自定义类型转换器的类 (实现Converter接口)
2.配置:将MyConverter加入到springMVC中
新建一个Converter类继承Converter<String ,Student>泛型里面提供了需要转换的对应类型
然后配置对应的xml文件
配置controller代码,然后就基本完成了配置,需要编写前端代码来访问了;
以下input里面的name值对应的是上面代码@RequestParam(“studentInfo”),里面的值;
<form action="springMVCHandler/testConverter" method="post">
学生信息:<input name="studentInfo" type="text" />
<input type="submit" value="转换">
</form>
完成如上配置就可以让前端输入一行默认格式的参数转换为具体的类型了
(2-张三-26) -----------------转换为------------------>id=2,name=张三,age=26