zoukankan      html  css  js  c++  java
  • 使用maven简单搭建springmvc

    介绍

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用SpringSpring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用)Struts 2(一般老项目使用)等。

    优点

    Lifecycle for overriding binding, validation, etc,易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。

    它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得 spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比 struts所具有的优势。而且框架本身有代码,看起来容易理解。

    springmvc的工作流程

    1.     拿到浏览器的请求先经过了核心控制器

    2.     获得hello.do路径比较映射器中拿取name值的hello.do

    3.     根据映射器获得的路径去找一个实现controller接口的控制器

    4.     控制器响应的数据到核心控制器中,但是核心控制器并不认识ModelAndView是什么

    5.     把ModelAndView交给视图解析器来解析,解析之后再给核心控制器

    6.     核心控制器把视图解析过后的数据进行处理

    springmvc的控制器是单例的,尽量避免书写成员属性

    初级配置springmvc

    导入依赖包

    <dependencies>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-web</artifactId>

                      <version>4.2.5.RELEASE</version>

                </dependency>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-webmvc</artifactId>

                      <version>4.1.3.RELEASE</version>

                </dependency>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-core</artifactId>

                      <version>4.2.4.RELEASE</version>

                </dependency>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-context</artifactId>

                      <version>4.2.4.RELEASE</version>

                </dependency>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-beans</artifactId>

                      <version>4.2.4.RELEASE</version>

                </dependency>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-expression</artifactId>

                      <version>4.2.4.RELEASE</version>

                </dependency>

                <dependency>

                      <groupId>org.apache.logging.log4j</groupId>

                      <artifactId>log4j-api</artifactId>

                      <version>2.3</version>

                </dependency>

                <dependency>

                      <groupId>junit</groupId>

                      <artifactId>junit</artifactId>

                      <version>4.12</version>

                </dependency>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-aop</artifactId>

                      <version>4.2.4.RELEASE</version>

                </dependency>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-test</artifactId>

                      <version>4.2.6.RELEASE</version>

                </dependency>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-aspects</artifactId>

                      <version>4.2.4.RELEASE</version>

                </dependency>

                      <dependency>

                      <groupId>com.alibaba</groupId>

                      <artifactId>druid</artifactId>

                      <version>1.0.9</version>

                </dependency>

                <dependency>

                      <groupId>mysql</groupId>

                      <artifactId>mysql-connector-java</artifactId>

                      <version>5.1.32</version>

                </dependency>

                <dependency>

                      <groupId>org.springframework</groupId>

                      <artifactId>spring-jdbc</artifactId>

                      <version>4.2.4.RELEASE</version>

                </dependency>

                <dependency>

                      <groupId>org.apache.tomcat</groupId>

                      <artifactId>servlet-api</artifactId>

                      <version>6.0.29</version>

                </dependency>

          </dependencies>

    配置xml文件

     

    配置核心配置文件

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"

       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

       xmlns:mvc="http://www.springframework.org/schema/mvc"

       xsi:schemaLocation="http://www.springframework.org/schema/beans

            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

            http://www.springframework.org/schema/context

            http://www.springframework.org/schema/context/spring-context-3.0.xsd

            http://www.springframework.org/schema/aop

            http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

            http://www.springframework.org/schema/tx

            http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

            http://www.springframework.org/schema/mvc

            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

       <bean name="/hello.do" class="com.oracle.controller.HelloController"></bean>

    </beans>

    映射器会自动从name属性中,获取路径

    注意:没有配置核心配置文件的位置和名称的时候,应该将其和web.xml文件创建在一起,且必须命名为DispatcherServlet-servlet.xml

     

    创建控制器

    新建一个控制类实现controller方法

     

     

    测试

    将其部署到tomcat测试

     

    更改核心配置文件的名称和位置

    只需在web.xml文件中,告诉核心控制器,配置文件在哪里叫什么即可

     

    编码过滤器

    为每一个响应到浏览器的数据都要将其格式转换为utf-8,可以在web.xml中配置编码过滤器

     

    但是如果拦截所有的路径,可能会将js,图片,css样式同样过滤掉,所以我们需要在springmvc.xml中配置哪些东西不需要被过滤

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

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

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

    配置视图解析器

    我们的jsp文件如果统一放在webapp下,会显得很多很乱,因此我们可以配置视图解析器,告诉核心控制器去那里找jsp文件,找以.jsp结尾的jsp文件。

    <!-- 视图解析器 -->

       <bean

       class="org.springframework.web.servlet.view.InternalResourceViewResolver">

          <property name="prefix" value="/jsps/" />

          <property name="suffix" value=".jsp"></property>

       </bean>

    这样我们在自定义的控制器中,就可以只写jsp文件的名字即可。

     

  • 相关阅读:
    SQL Server 与 Entity Framework 级联删除
    web api 2 学习笔记 (Odata ODataQueryOptions 使用)
    【建议收藏】设计师必备-史上最全的个人资料页面设计模板下载
    浅谈产品经理入门和学习路径
    最全面!2019年最新UX设计趋势预测合集
    最新Dashboard设计实例、技巧和资源集锦,视觉和功能两不误,妥妥的!
    【技巧分享】设计师如何向开发人员顺利交付作品?
    摹客iDoc201901-2新功能点评
    企业类Web原型制作分享-Kraftwerk
    【新年福利】2019年值得一用的8款协作工具
  • 原文地址:https://www.cnblogs.com/mhm111/p/11422405.html
Copyright © 2011-2022 走看看