SpringMVC

1.1 SpringMVC简介和环境搭建

1.1.1 SpringMVC简介

图片1.png


1.1.2 MVC和Struts的对应关系

 

图片2.png


1.1.3 SpringMVC开发步骤

第一步 建立一个Web项目

 

图片3.png


第二步 将SpringMVC包,复制到lib目录下

SpringMVC包和Spring包完全一样

图片4.png


第三步 配置web.xml文件

web.xml文件显示项目用到的所有框架

 

图片5.png


第四步 配置springMVC-servlet.xml文件

默认存放地址:\WebContent\WEB-INF\springMVC-servlet.xml (不推荐)

项目中一般放在config目录下(1.2.1项目中SpringMVC的配置

图片6.png

 

第五步 写controller类继承Controller接口重写ModelAndView()

ModelAndView是一个视图的实例或者说是一个视图的字符串 

实际项目中需对controller优化(见1.6.2

图片7.png

 

第六步 配置springMVC-servlet.xml文件

  

图片8.png

 

图片9.png

 

 

 

1.2 SpringMVC基础及应用

1.2.1 项目中SpringMVC的配置

实际项目中。SpringMVC配置文件一般放到项目自定义目录下

图片10.png

配置web.ml文件增加初始化参数

图片11.png



1.2.2 ModelAndView

ModelAndView对象具体描述参见项目中ModelAndView.class

数据和视图

图片12.png


传输数据 键——值对

controller中返回 ModelAndViewURL”key”,value

图片13.png

在页面中即可获取 ${key}

图片14.png


传输Map——JSTL标签

传输Map

 

 

 

 

 

 

 

1.3 Controller中写多个方法

继承extends MultiActionController 接口

public class MultiController extends MultiActionController {

public ModelAndView add(HttpServletRequest request,HttpServletResponse response){

System.out.println("----add----");

return new ModelAndView("/multi","method","add");

}

public ModelAndView update(HttpServletRequest request,HttpServletResponse response){

System.out.println("----update----");

return new ModelAndView("/multi","method","update");

}

}

配置spring-servlet.xml文件——配置参数名称解析Bean

<bean id="paramMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">

<property name="paramName" value="do"></property>

</bean>

配置spring-servlet.xml文件——访问路径 及 controller路径

<bean name="/test1/multi" class="com.tgb.web.controller.MultiController">

<property name="methodNameResolver">

<ref bean="paramMethodResolver"/>

</property>

</bean>


4 静态文件的访问

1.4.1 访问 图片 / js / css需要怎么配置

由于配置web.xml时默认拦截所有访问,但静态文件不需要拦截。

下面进行配置文件的修改。

 

配置StaticController.java文件

public class StaticController extends MultiActionController {

public ModelAndView img(HttpServletRequest request,HttpServletResponse response){

return new ModelAndView("/staticFile");

}

public ModelAndView jquery(HttpServletRequest request,HttpServletResponse response){

return new ModelAndView("/jquery");

}

}

 

配置spring-servlet.xml文件(配置方法解析器)

<bean name="/test1/img" class="com.tgb.web.controller.StaticController">

<property name="methodNameResolver">

<ref bean="paramMethodResolver"/>

</property>

</bean >

 

 

MVC标签(文件免过滤)

<!-- 静态资源访问spring-servlet.xml -->

 <mvc:resources location="/img/" mapping="/img/**"/>  

 <mvc:resources location="/js/" mapping="/js/**"/>   

 

 5 Springcontroller第二种配置

  一种是注解(V2.5之后版本,常用)

  一种是XML文件配置

 

1.5.1 注解的使用 

  为了区分之前的配置文件spring-servlet.xml,新建springAnnotation-servlet.xmlspringMVC配置文件)

 

第一步 修改web.xml

<servlet>

  <servlet-name>springMVC</servlet-name>

  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

   <init-param>

   <param-name>contextConfigLocation</param-name>

<param-value>classpath*:config/springAnnotation-servlet.xml</param-value>

   </init-param>

  <load-on-startup>1</load-on-startup>

 </servlet>

 

第二步 修改springAnnotation-servlet.xml

<!-- 注解扫描包  扫描com.tgb.web.controller.annotation目录下所有 *.java 文件中是否有@Controller 注释-->

<context:component-scan base-package="com.tgb.web.controller.annotation" />

<!-- 开启注解 spring3.0之后下面两个bean 用 <mvc:annotation-driven/>取代-->

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean>


第三步 在controller文件中添加注解

@Controller

public class UserController {

@RequestMapping(value="/user/addUser",method=RequestMethod.POST)

public ModelAndView addUser(){

String result ="this is addUser------";

return new ModelAndView("/jquery","result",result);

}

@RequestMapping(value="/user/delUser",method=RequestMethod.GET)

public ModelAndView delUser(){

String result ="this is delUser------";

return new ModelAndView("/jquery","result",result);

}

@RequestMapping(value="/user/toUser",method=RequestMethod.GET)

public ModelAndView toUser(){

return new ModelAndView("/jquery");

}

}


1.5.2 两种注解

@Controller 类的注解

  告诉spring扫描

@RequestMapping 方法 类的注解

  两个参数 (value="请求地址"[,method=请求方式])

  类注解  (value="/AAA")      该类方法访问地址前都加/AAA

  方法注解  (value="/BBB")    浏览器访问地址为localhost:8080/AAA/BBB会转向该  方法 return的链接

 

 

POST请求JSP页面

<form action="/springMVC4/user/addUser" method="post">

<h>springMVC注解1</h>

<br/>

${result }

</div>

<input type="submit" value="post请求">

</form>

 

 

 

 

 

 

 

 

 

 

 

0 0

共收到0条回复

加入小组与大家一起讨论吧