大学生刚学完 Java 如何学习 SpringMVC?
的有关信息介绍如下:
1.首先,导入SpringMVC需要的jar包。
2. 添加Web.xml配置文件中关于SpringMVC的配置
3. 在src下添加springmvc-servlet.xml配置文件
4. 在WEB-INF文件夹下创建名为jsp的文件夹,用来存放jsp视图。创建一个hello.jsp,在body中添加“Hello World”。
5. 建立包及Controller,如下所示
6. 编写Controller代码
7. 启动服务器,键入 http://localhost:8080/项目名/mvc/hello
1.Dispatcherservlet
DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据相应的规则分发到目标Controller来处理,是配置spring MVC的第一步。
2. InternalResourceViewResolver
视图名称解析器
3. 以上出现的注解
@Controller 负责注册一个bean 到spring 上下文中
@RequestMapping 注解为控制器指定可以处理哪些 URL 请求
@Controller
负责注册一个bean 到spring 上下文中
@RequestMapping
注解为控制器指定可以处理哪些 URL 请求
@RequestBody
该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上 ,再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上
@ResponseBody
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区
@ModelAttribute
在方法定义上使用 @ModelAttribute 注解:Spring MVC 在调用目标处理方法前,会先逐个调用在方法级上标注了@ModelAttribute 的方法
在方法的入参前使用 @ModelAttribute 注解:可以从隐含对象中获取隐含的模型数据中获取对象,再将请求参数 –绑定到对象中,再传入入参将方法入参对象添加到模型中
@RequestParam
在处理方法入参处使用 @RequestParam 可以把请求参 数传递给请求方法
@PathVariable
绑定 URL 占位符到入参
@ExceptionHandler
注解到方法上,出现异常时会执行该方法
@ControllerAdvice
使一个Contoller成为全局的异常处理类,类中用@ExceptionHandler方法注解的方法可以处理所有Controller发生的异常
1.编写一个Person实体类
2. 在Controller里编写方法
前台可在Request域中取到"p"
前台用下面的Jquery代码调用
1.需要导入两个jar包
2. 在SpringMVC配置文件中加入
3. 方法代码
4. 前台form表单
1.RestController
2. form表单发送put和delete请求
在web.xml中配置
在前台可以用以下代码产生请求
1.导入以下jar包
2. 方法代码
1.处理局部异常(Controller内)
2. 处理全局异常(所有Controller)
3. 另一种处理全局异常的方法
在SpringMVC配置文件中配置
error是出错页面
1.创建一个MyInterceptor类,并实现HandlerInterceptor接口
2. 在SpringMVC的配置文件中配置
3. 拦截器执行顺序
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,切换浏览器语言,能看到账号和密码的语言也切换了
1.创建一个test.SpringMVC.integrate的包用来演示整合,并创建各类
2. User实体类
3. UserService类
4. UserController
5. Spring配置文件
在src目录下创建SpringIOC的配置文件applicationContext.xml
在Web.xml中添加配置
6. 在SpringMVC中进行一些配置,防止SpringMVC和SpringIOC对同一个对象的管理重合
1. 客户端请求提交到DispatcherServlet2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller3. DispatcherServlet将请求提交到Controller4. Controller调用业务逻辑处理后,返回ModelAndView5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图6. 视图负责将结果显示到客户端
1、springmvc基于方法开发的,struts2基于类开发的。springmvc将url和controller里的方法映射。映射成功后springmvc生成一个Handler对象,对象中只包括了一个method。方法执行结束,形参数据销毁。springmvc的controller开发类似web service开发。2、springmvc可以进行单例开发,并且建议使用单例开发,struts2通过类的成员变量接收参数,无法使用单例,只能使用多例。3、经过实际测试,struts2速度慢,在于使用struts标签,如果使用struts建议使用jstl。
原文链接:史上最全最强SpringMVC详细示例实战教程 - Sunnier - 博客园



