Spring MVC 第一讲:SpringMVC 知识入门

来源:互联网 发布:黑客编程入门3 pdf 编辑:程序博客网 时间:2024/05/17 01:31

第一讲:SpringMVC 知识入门

1、市面上流行的框架

    struts2:   很流行,MVC框架的典型代表
    springMVC: 趋于流行,逐渐使用愈来愈广
    struts1:  即将被淘汰

2、spring MVC结构

    DispatcherServlet:中央控制器(核心:在web.xml中进行配置),把请求给转发到具体的控制类(相当于struts2中的filterdispatcher)
    Controller:具体处理请求的控制器(相当于struts2中的action类),包含多个执行方法,根据调用的不同执行不同的方法
    handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略(相当于struts.xml文件中的action标签的作用),根据访问的地址,调用不同的控制类
    ModelAndView:服务层返回的数据和视图层的封装类(指定返回的结果视图的名称和所带到界面的数据)
    ViewResolver & View:视图解析器,解析具体的视图(返回的视图包含jsp、html、freemarker等)
    Interceptors :拦截器,负责拦截我们定义的请求然后做处理工作(相当于struts2中的拦截器,例如对于权限的拦截)

3、开发一个简单的spring MVC案例:

    第一步:导入相应的资源包

        com.springsource.javax.servlet.jsp.jstl-1.1.2.jar         jstl支持包        com.springsource.org.aopalliance-1.0.0.jar                aop核心包        com.springsource.org.apache.taglibs.standard-1.1.2.jar    标签库        org.springframework.aop-3.0.0.RELEASE.jar                         org.springframework.asm-3.0.0.RELEASE.jar        org.springframework.beans-3.0.0.RELEASE.jar        org.springframework.context.support-3.0.0.RELEASE.jar        org.springframework.context-3.0.0.RELEASE.jar        org.springframework.core-3.0.0.RELEASE.jar        org.springframework.expression-3.0.0.RELEASE.jar        org.springframework.web.servlet-3.0.0.RELEASE.jar          spring MVC 核心包        org.springframework.web-3.0.0.RELEASE.jar

    第二步:配置中央控制器

    <web-app>        <!--配置spring核心控制器 (注意这不是servlet类的配置)-->        <servlet>            <servlet-name>springmvc</servlet-name>            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>            <!--初始化spring MVC 核心配置文件的位置-->            <init-param>                <param-name>contextConfigLocation</param-name>                <param-value>classpath:spring_mvc.xml</param-value>            </init-param>        </servlet>        <!-- 配置映射路劲 -->        <servlet-mapping>            <servlet-name>springmvc</servlet-name>            <url-pattern>*.do</url-pattern>        </servlet-mapping>    </web-app>

    第三步:创建controller类(要继承AbstractController类:注意如果是使用配置文件方式访问控制类;如果居于注解就不需要继承):

       public class Controller_01 extends AbstractController {            //使用配置文件方式进行访问            @Override            protected ModelAndView handleRequestInternal(HttpServletRequest arg0,                    HttpServletResponse arg1) throws Exception {                System.out.println("我现在是使用的springmvc 进行开发文本应用");                //返回到指定的界面                //根据指定的不同的字符串 访问不同的jsp界面                /**                 * 一种是  web-inf/before下的文件    写成   before/second                 * 一种是  web-inf/first下的文件    写成   jsp/first                 */                return new ModelAndView("index");            }        }

    第四步:创建springMVC核心配置文件springmvc-servlet.xml(默认是放在WEB-INF下的)

                    (默认是放在WEB-INF下的,文件的命名规则:中央控制器(servlet的名称)的名称+“-servlet.xml”默认位置:WEB-INF下)
       <beans>            <!-- 通过name进行访问  -->            <!--第三步: 配置controller -->            <bean id="controller_01" name="/controller.do" class="com.liu.controller.Controller_01"></bean>            <!--第四步: 视图解析器 :相当于访问不同路劲下的资料-->            <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">                <!-- 配置前缀  取决于你访问那个资源下的文件 -->                <property name="prefix" value="/"></property>                <!-- 配置后缀 取决于你访问资源的后缀 -->                <property name="suffix" value=".jsp"></property>            </bean>        </beans>

    第五步:测试文件是否成功

 http://localhost:8080/SpringMVC_01/controller.do

4、三种配置handlerMapper的方法:

 <!-- 三种配置handerMapper -->         第一种默认:(默认就存在)    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>    <!-- 第二种:SimpleUrlHandlerMapping:使用简单的url进行映射 -->    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">        <property name="mappings">            <props>                <prop key="/controller.do">controller_01</prop>            </props>        </property>    </bean>    <!-- 第三种:通过类名进行访问:访问时类名首字母需要小写,并且在后面加上.do  -->    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>    <!-- 通过name进行访问  -->    <!--第三步: 配置controller -->    <bean id="controller_01" class="com.liu.controller.Controller_01"></bean>    <!--第四步: 视图解析器 :相当于访问不同路劲下的资料-->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <!-- 配置前缀  取决于你访问那个资源下的文件 -->        <property name="prefix" value="/"></property>        <!-- 配置后缀 取决于你访问资源的后缀 -->        <property name="suffix" value=".jsp"></property>    </bean>

5、多所一句:

    基于配置文件的Spring MVC 方式通常在公司里面不会使用,都是使用它的注解方法。注解方法简单灵活,避免配置文件出现的冗长。
    易于修改,更重要的优点是注解方式是一大亮点。


                
   
0 0
原创粉丝点击