SpringMVC简单配置

时间:2022-09-26 08:04:31

SpringMVC简单配置

一、eclipse安装Spring插件

    打开help下的Install New Software

    SpringMVC简单配置

    点击add,location中输入http://dist.springsource.com/release/TOOLS/update/e4.5/     (4.5是版本号,不能高于eclipse的版本)

    SpringMVC简单配置

    选择四个后缀为Spring IDE,点击next即可

    SpringMVC简单配置

二、SpringMVC的简单配置

    1、在WEB-INF下的lib中加入jar包,点击下载(使用maven仓库后就可以直接添加依赖了 )

    2、配置前端控制器【DispatcherServlet】

        在web.xml中添加以下代码      

 <!--向服务器注册前端控制器!  -->
          <servlet>
              <servlet-name>springDispatcherServlet</servlet-name>
              <!--DispatcherServlet指的是SpringMVC的前端控制器!,给服务器使用,创建servlet对象!  -->
              <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
              <!-- 初始化参数contextConfigLocation用于指定SpringMVC配置文件的路径以及名称 -->
              <init-param>
                  <param-name>contextConfigLocation</param-name>
                  <param-value>classpath:springmvc.xml</param-value><!--不用init-param指定springMVC配置文件的路径位置时,默认会找
     /WEB-INF/<servlet-name>-servlet.xml文件-->
              </init-param>
              <!-- 数字0或者大于0的数字表示的是:在服务器启动的时候创建Servlet对象,而不是第一次访问的时候创建
                  小于0的数字指的是:在第一次访问的时候创建Servlet对象.
                  在数字大于O的情况下,数字越小,优先级越高!
               -->
              <load-on-startup>1</load-on-startup>
          </servlet>

          <!-- Map all requests to the DispatcherServlet for handling -->
          <!-- 用 servlet-mapping指定请求映射的路径-->
          <servlet-mapping>
              <servlet-name>springDispatcherServlet</servlet-name>
              <!-- 用url-pattern指定拦截 的请求路径! -->
              <url-pattern>/</url-pattern>
          </servlet-mapping>

    3、创建SpringMVC的配置文件并添加要扫描的包

        注意:1.创建SpringMVC配置文件的名字要和上面在web.xml文件中指定的名字一致!
                2.创建SpringMVC配置文件的时候使用的是Spring Bean Configuration File创建的,不是XML!
            <!-- 配置SpingMVC容器要扫描的包! -->
            <context:component-scan base-package="com.neuedu.controller"></context:component-scan>

     4.配置视图解析器

          <!--InternalResourceViewResolvers 是视图解析器 ,它会将逻辑视图转换成实际的物理视图,做一个转发操作!
          也就是说具体步骤:前缀prefix +  方法的返回值  + 后缀suffix-->
           <!-- /WEB-INF/views/success.jsp -->
          <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
          <property name="prefix" value="/WEB-INF/views/"></property>
          <property name="suffix" value=".jsp"></property>
          </bean>

    5、在springMVC扫描的包下创建控制器类[Controller/Handler],注意要加入@Controller注解

        /**
          * 我们通过@RequestMapping做请求URL的映射!
          * @return
             */
           @RequestMapping("/sayHello")      //@RequestMapping括号里指定请求url的请求路径
             public String sayHello(){
                return "success";
             }

    6、页面请求

        <a href="${pageContext.request.contextPath }/hello">go</a>   请求路径问题看另一篇博客

三、常见配置

  1、访问静态资源

    对于静态资源文件如【js/css/图片】的访问我们需要在spingmvc配置文件中配置一个标签,如下所示:
        <!-- 映射静态资源的访问请求 -->
        <mvc:default-servlet-handler/>
        <mvc:annotation-driven></mvc:annotation-driven>

        为什么出现这样的问题:
          优雅的REST风格的资源URL不希望带.html或.do等后缀,若将DispatcherServlet请求映射配置为/,
          则SpringMVC将捕获WEB容器的所有请求,包括静态资源的请求,SpringMVC会将他们当成一个普通请求处理,因此找不到对应处理器将导致错误。
        解决:在SpringMVC的配置文件中配置<mvc:default-servlet-handler>

  2、数据格式化标签:

    1.在SpringMVC配置文件中配置<mvc:annotation-driven/>
    2.在目标POJO对象的属性上加上@NumberFormat 或者 @DateTimeFormat 注解!
      @DateTimeFormat
        pattern 属性:类型为字符串。指定解析/格式化字段数据的模式, 如:”yyyy-MM-dd hh:mm:ss”
      @NumberFormat
        pattern:类型为 String,自定义样式, 如patter="#,###";

  3、数据类型转换以及数据格式化标签:

    1. 自定义类型转换器实现Converter<S,T>接口并加入到SpringMVC的IOC容器中,
      

    @Component
    public class EmployeeConverter implements Converter<String, Employee>{
      @Override
      public Employee convert(String source) { 
      System.out.println(source);
      if(source != null){
        String[] vals = source.split("-");
        if(vals != null && vals.length ==5){
        String name = vals[0];
        String email = vals[1];
        Integer gender = Integer.parseInt(vals[2]);
         Department department = new Department();
        department.setId(Integer.parseInt(vals[3]));   
        Employee employee = new Employee(null, name, email, gender, department);
        return employee;
        }
      }
      return null;
     }
    }

    2.配置自定义转换器到FormattingConversionServiceFactoryBean工厂中!

  <!-- 将ConversionService再作为annotation-driven的一个属性存在! -->
    <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
    
    <!-- 配置ConversionService -->
    <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
     <property name="converters">
      <set>
       <ref bean="employeeConverter"/>
      </set>
     </property>
    </bean>

SpringMVC简单配置的更多相关文章

  1. Struts2和SpringMVC简单配置以及区别总结

    Struts2: struts 2 是一个基于MVC(mode-view-con)设计模式的Web应用框架,是由Struts1和WebWork两个经典框架发展而来的. 工作流程: 1客户端浏览器发出H ...

  2. Idea简单SpringMVC框架配置

    前边已经介绍过了Struts在Idea上的配置,相对于Struts来说,我觉得SpringMVC有更多的优势,首先Struts是需要对action进行配置,页面发送不同的请求,就需要配置不同的acti ...

  3. SpringMVC简单项目配置

    一.首先,SpringMVC框架使用分层开发,分层是为了实现“高内聚,低耦合”.采用“分而治之”的思想,把问题划分开来各个解决,易于控制,延展和分配资源,最重要的是有利于后期项目维护.MVC是指Mod ...

  4. SpringMVC 常用applicationContext&period;xml、web&period;xml、servlet-mvc&period;xml简单配置

    在进行学习配置文件之前,为了加深对框架的认识,简单的做了SSM框架的简单实验.然后画出listAll查询方法的整个过程的思维导图. 整个过程中的web.xml.SpringMVC.xml.applic ...

  5. springMVC 简单事例

    本帖最后由 悲观主义者一枚 于 2015-1-31 17:55 编辑 使用SpringMvc开发Android WebService入门教程1.首先大家先创建一个JavaWeb项目2.然后加入Spri ...

  6. SpringMVC简单搭建与入门

    SpringMVC框架是spring框架的一个模块.springmvc和spring无需要通过中间整合层进行整合. 学习的时候,先了解一下流程至关重要,下面,简单介绍一下流程. 源码下载:http:/ ...

  7. Springmvc中配置Quartz使用,实现任务实时调度。

    菜鸡的自我修炼,第一次接触quartz,做个记录.-------jstarseven 最近在项目中,第一次在springmvc中配置实用quartz,深刻的感受到quartz带来的方便,顺手做个记录. ...

  8. springMVC&plus;Hibernate配置

    本文描述下 sypro 项目中使用 springMVC+Hibernate配置,初学SpringMVC做下简单整理解. 1.web项目首先我们要使用 web.xml文件将 spring配置引入进来 & ...

  9. Spring mvc系列一之 Spring mvc简单配置

    Spring mvc系列一之 Spring mvc简单配置-引用 Spring MVC做为SpringFrameWork的后续产品,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块 ...

随机推荐

  1. &plus;&plus;a和a&plus;&plus;的区别

    另: short s = 4; s = s + 1; // 编译不通过.因为编译器无法判断等号右边的运算结果是否依然在等号左边的short类型范围内,容易丢失精度. s += 1; // 编译通过.+ ...

  2. 经典案例:那些让人赞不绝口的创新 HTML5 网站

    在过去的10年里,网页设计师使用 Flash.JavaScript 或其他复杂的软件和技术来创建网站.但现在你可以前所未有的快速.轻松地设计或创造互动的.有趣好看的网站.如何创建?答案是 HTML5 ...

  3. hdu 2795 段树--点更新

    http://acm.hdu.edu.cn/showproblem.php?pid=2795 在第一和第三多学校都出现线段树,我在比赛中并没有这样做.,热身下,然后31号之前把那两道多校的线段树都搞了 ...

  4. Codeforces&num;355

    大小号刷题,大号,被查重,悲剧,最后小号过了3题 A题: 分析:大于h的+2,小于等于h的+1 #include <iostream> #include <cstdio> #i ...

  5. hadoop2&period;7&period;3&plus;spark2&period;1&period;0&plus;scala2&period;12&period;1环境搭建(2)安装hadoop

    一.依赖安装 安装JDK 二.文件准备 hadoop-2.7.3.tar.gz 2.2 下载地址 http://hadoop.apache.org/releases.html 三.工具准备 3.1 X ...

  6. Linux的发行版,不同发行版之间的联系和区别

    Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用.这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写.它们通常包括了其他的系统软件和应用 ...

  7. c语言中的利用函数实现交换两个字符,交换两个字符串

    c语言交换两个字符: 方法一:利用指针传址,效率比较高 void swap(int *a,int *b) { int temp; temp = *a; *a = *b; *b = temp } 方法二 ...

  8. java正则积累

    1. [.]点:再分割的时候不可以直接使用点,需要加上 \\ 转义才可以得到想要的结果,否则输出的时候会报异常 数据下标越界 String[] split = "output.txt&quo ...

  9. matlab中常数下的点是什么意思

    加上点"."后表示两个矩阵或向量对应位置进行运算, 这时候要求进行操作的两个变量必须维数相同(与矩阵乘法对矩阵维数要求不同)

  10. 数学:拓展Lucas定理

    拓展Lucas定理解决大组合数取模并且模数为任意数的情况 大概的思路是把模数用唯一分解定理拆开之后然后去做 然后要解决的一个子问题是求模质数的k次方 将分母部分转化成逆元再去做就好了 这里贴一份别人的 ...