SpringMVC详细示例实战教程(二)

四、自动匹配参数

 

五、自动装箱

  1.编写一个Person实体类

 

2.在Controller里编写方法

 

六、使用InitBinder来处理Date类型的参数

 

 

 七、向前台传递参数

 

 

 前台可在Request域中取到"p"

 八、使用Ajax调用

 

前台用下面的Jquery代码调用

 

 

 九、在Controller中使用redirect方式处理请求

 

 十、文件上传

  1.需要导入两个jar包

 

 2.在SpringMVC配置文件中加入

 

 3.方法代码

 

 4.前台form表单

 

十一、使用@RequestParam注解指定参数的name

 

 十二、RESTFul风格的SringMVC

 1.RestController

 

  2.form表单发送put和delete请求

在web.xml中配置

 

 在前台可以用以下代码产生请求

 

 十三、返回json格式的字符串

  1.导入以下jar包

 

  2.方法代码

 

 十四、异常的处理

  1.处理局部异常(Controller内)

 

 2.处理全局异常(所有Controller)

 

 3.另一种处理全局异常的方法

  在SpringMVC配置文件中配置

 

 error是出错页面

 十五、设置一个自定义拦截器

1.创建一个MyInterceptor类,并实现HandlerInterceptor接口

 

 2.在SpringMVC的配置文件中配置

 

 3.拦截器执行顺序

 

 十六、表单的验证(使用Hibernate-validate)及国际化

  1.导入Hibernate-validate需要的jar包

未选中不用导入

 

 2.编写实体类User并加上验证注解

 

 ps:@Past表示时间必须是一个过去值

  3.在jsp中使用SpringMVC的form表单

 

ps:path对应name

  4.Controller中代码

 

 ps:

  1.因为jsp中使用了modelAttribute属性,所以必须在request域中有一个"user".

  2.@Valid 表示按照在实体上标记的注解验证参数

  3.返回到原页面错误信息会回显,表单也会回显

  5.错误信息自定义

  在src目录下添加locale.properties

 

在SpringMVC配置文件中配置

 

6.国际化显示

  在src下添加locale_zh_CN.properties

 

 locale.properties中添加

 

 创建一个locale.jsp

 

在SpringMVC中配置

 

让locale.jsp在WEB-INF下也能直接访问

  最后,访问locale.jsp,切换浏览器语言,能看到账号和密码的语言也切换了

 十七、压轴大戏--整合SpringIOC和SpringMVC

 

 2.User实体类

 

  3.UserService类

 

 4.UserController

 

5.Spring配置文件

  在src目录下创建SpringIOC的配置文件applicationContext.xml

 

 在Web.xml中添加配置

 

 6.在SpringMVC中进行一些配置,防止SpringMVC和SpringIOC对同一个对象的管理重合

 

十八、SpringMVC详细运行流程图

 

十九、SpringMVC与struts2的区别

  1、springmvc基于方法开发的,struts2基于类开发的。springmvc将url和controller里的方法映射。映射成功后springmvc生成一个Handler对象,对象中只包括了一个method。方法执行结束,形参数据销毁。springmvc的controller开发类似web service开发。

  2、springmvc可以进行单例开发,并且建议使用单例开发,struts2通过类的成员变量接收参数,无法使用单例,只能使用多例。

3、经过实际测试,struts2速度慢,在于使用struts标签,如果使用struts建议使用jstl。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值