springMVC学习总结

入门案例使用步骤

  1. 导入坐标。
<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.0.2.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>5.0.2.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.0.2.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
  1. 在web.xml中配置核心控制器DispatcherServlet
  2. 在springMVC.xml中配置spring注解扫描的包,视图解析器,springMVC框架注解的支持
  3. 编写Servlet,使用@Controller注解,在方法上使用@RequestMapping配置路径
  4. 编写jsp访问Servlet

常用注解

  1. RequestParam:绑定请求参数
  2. RequestBody:获取请求体内容
  3. PathVaribale:绑定url中的占位符
  4. RequestHeader:获取请求头
  5. CookieValue:给参数绑定cookie
  6. ModelAttribute:出现在方法上,表示当前方法会在控制器的方法执行之前,先执行。它可以修饰没有返回值的方法,也可以修饰有具体返回值的方法。 出现在参数上,获取指定的数据给参数赋值。
  7. SessionAttribute

响应数据

  1. 返回值为ModelAndView
ModelAndView mv = new ModelAndView();
mv.addObject("username", "张三"); 
mv.setViewName("success");
  1. 转发:forward:/…/…
    注意不以“/”开头表示当前路径下
  2. 重定向:redirect:
    同转发,不以“/”开头表示当前路径下
  3. List item

文件上传

  1. 传统上传方式

需要的jar包commons-fileupload.jar,commons-io.jar

需要自己编写代码获取ServletFileUpload对象,解析请求体,得到上传文件项。最后写入服务器

  1. springMVC上传方式

需要的jar包commons-fileupload.jar,commons-io.jar

配置文件解析器对象,要求id名称必须是multipartResolver
< bean id=“multipartResolver” class=“org.springframework.web.multipart.commons.CommonsMultipartResolver”>
< property name=“maxUploadSize” value=“10485760”/>
< /bean >

可直接获得上传文件项,需要注意Controller中的方法的参数名必须与jsp表单中文件项的name属性值相同。

  1. springMVC跨服务器上传

需要的jar包commons-fileupload.jar,commons-io.jar,jersey-core.jar,jersey-client.jar

// 创建客户端对象
Client client = Client.create();
// 连接图片服务器
WebResource webResource = client.resource(path+filename);
// 上传文件
webResource.put(upload.getBytes());

异常处理

  1. 编写自定义异常类
  2. 编写异常处理器实现HandlerExceptionResolver接口
  3. 在resources下的springMVC.xml中配置异常处理器

配置异常处理器
< bean id=“sysExceptionResolver” class=“cn.itcast.exception.SysExceptionResolver”/>

拦截器设置

拦截器说明:拦截器是SpringMVC框架独有的,只会对控制器中的方法进行拦截。

  1. 编写拦截器实现HandlerInterceptor接口
  2. 配置拦截器

配置拦截器
< mvc:interceptors>
< mvc:interceptor>

< mvc:mapping path="/user/*"/>
哪些方法不进行拦截
< mvc:exclude-mapping path=""/>
注册拦截器对象
< bean class=“cn.itcast.demo1.MyInterceptor1”/>
< /mvc:interceptor>
< /mvc:interceptors>

补充

  1. ModelAndView对象中的数据是存到request域中
  2. @RequestBody 接收json格式的参数。若前端的参数为json格式,必须用此注解接收。
  3. @ResponseBody 返回值直接用json格式传给前端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值