SpringMVC是什么
是一个web层MVC框架,与Struts2类似
javaee体系是四层结构:
应用层application,需要安装的
web层:Struts2,SpringMVC
业务层:spring,EJB
持久层:hibernate,mybatis
SpringMVC参数封装
SpringMVC没有成员变量,把需要传递参数对象放入方法中,当请求这个方法时,这个方法里面的对象会自动被创建,需要封装的参数自动被封装方法的对象中
SpringMVC基于Servlet实现参数封装【Struts2底层是过滤器,基于过滤器实现】
SpringMVC是单例【Struts2是多列】
SpringMVC基于方法封装,颗粒更细【Struts2基于属性封装】
SpringMVC页面回显
SpringMVC使用Model对象,Model对象相当于application
URL模板映射
主要是为请求restful设计模式
restful是软件架构设计模式:使请求更简洁,更安全,方便于搜索引擎收录
初始restful:将参数放到链接里/test/index/1.do,而不是用链接+?+参数的形式/test/index.do?id=1,controller里面@requestMapping(“/index/{参数}”)方法中用public String index(@PathVariable Integer id)
真正的restful风格:在web.xml中约定某一路径下的请求都用restful风格
此时原链接就是 原来是/test/index.do?id=1→→→/demo/test/index/{id}
<servlet-mapping>
<servlet-name>spirngmvc</servlet-name>
<url-pattern>/demo/*</url-pattern>
</servlet-mapping>
requestBody和responseBody
requestBody把前台页面传递的json格式数据强制转换为javaBean
responseBody在后台吧javaBean转换为json格式的数据返回给页面
这两个注释不能直接使用,需要依赖jackson的jar