一:导入依赖:
二:web.xml的配置:
三:spring-servlet.xml配置
配置InternalResourceViewResolver可解决文件在不同路径造成的相对路径冲突问题。加入了前后缀后,在进行页面跳转时需要进行相应的改变,例如跳转到根目录下的return "home.jsp",变为return "home";之前在user文件夹下的user.jsp,在访问时应该从根目录开始路径的寻找,应该写成return "user/user"。
四、常用注释:
@Controller:指代MVC中的C层,用于Spring的识别。
@RequestMapping:与servlet中web.xml的配置作用类似,可作用于方法或者类。当项目结构比较复杂时,在类上使用该标签,可确保RequestMapping指代内容的唯一性,避免指代不清或者冲突。
"/home"作用与servlet中的<url-pattern>/home</url-pattern>的作用相似,当浏览器URL指向/home时则会调用上图中的方法,然后跳转到home.jsp页面。
@RequestParam:用于建立SpringMVC的Controller的参数与页面参数之间的映射关系。
RequestMappingvalue( value = "/receive" )是上面的RequestMapping( "/***" )的简写形式;method = RequestMethod.POST表示只接受post类型的请求。
@RequestParam("username") String name表示将从页面获取的name="username"的参数的值赋给String类型的name。若要获取多个参数,例如checkbox多选时的情形,可用相对应类型的数组进行接受,如上图的hobby,在此时,hobby与页面中的<input name="hobby">名称需完全一致。Model主要用于将SpringMVC中的参数传给jsp文件,调用其addAttribute()方法即可。
在SpringMVC中默认的跳转方式为forward()而不是redirect(),若需要转为redirect()方式,以return "redirect:/home.jsp"的方式可实现。