zoukankan      html  css  js  c++  java
  • spring mvc(1):基础入门

     

    依赖

    pom.xml ( maven )
    <properties>
      <spring.version>3.0.5.RELEASE</spring.version>
    </properties>
    <dependencies>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
      </dependency>
    </dependencies>
    没有使用 maven 的需手工导入包 ( 3.0.4 + 版本自由选择 ) :
    spring-core-3.0.5.RELEASE.jar
    spring-asm-3.0.5.RELEASE.jar
    spring-web-3.0.5.RELEASE.jar
    spring-beans-3.0.5.RELEASE.jar
    spring-context-3.0.5.RELEASE.jar
    spring-aop-3.0.5.RELEASE.jar
    spring-webmvc-3.0.5.RELEASE.jar
    spring-context-support-3.0.5.RELEASE.jar
    spring-expression-3.0.5.RELEASE.jar
    aopalliance-1.0.jar
    commons-logging-1.1.1.jar

    web.xml 配置

    为使用 Spring MVC,首先需要在 web.xml 中配置 DispatcherServlet。
    它与 Struts 的过滤器作用类似,主要负责拦截请求并分发给对应的目标来处理。
    web.xml
    <servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>/</url-pattern>
    </servlet-mapping>
    这种配置方式要求项目中必须存在 WEB-INF/[servlet-name]-servlet.xml 配置文件 ( 如这里的 dispatcher-servlet.xml )。
    你也可以通过 <init-param> 来自定义指定配置文件的路径和名称。
    web.xml
    <servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-mvc.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>*.action</url-pattern>
    </servlet-mapping>
    <load-on-startup>1</load-on-startup>
    load-on-startup 配置的是一个非负整数值,表示 Servlet 启动的优先级别。数值越小,优先级别越高。
    0 或 不配置,表示只有当第一次使用该 Servlet 时,容器才会去启动它 ( 包括加载、实例化、以及调用 init() 方法完成初始化 )。
    1 或 > 1,表示 Servlet 将随运用程序的启动而启动。
    <url-pattern>*.action</url-pattern>
    表示拦截所有 .action 的请求,并交由 Spring MVC 来处理,非 .action 的请求,将不由 Spring MVC 处理。
    多个值之间用英文的逗号 “,” 分隔,需要注意的是,值与值之间不能存在空格:<url-pattern>*.action,*.htm</url-pattern>
    <url-pattern>/</url-pattern>
    表示拦截所有请求,并全部交由 Spring MVC 来处理。

    Spring MVC 配置文件配置

    spring-mvc.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:mvc="http://www.springframework.org/schema/mvc"
      xmlns:context="http://www.springframework.org/schema/context"
      xsi:schemaLocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      http://www.springframework.org/schema/mvc
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
      http://www.springframework.org/schema/context 
      http://www.springframework.org/schema/context/spring-context-3.0.xsd">
      
      <!-- 自动扫描的包 -->
      <context:component-scan base-package="org.lychie.tutorial.**.controller" />
      <!-- 开启注解支持 -->
      <mvc:annotation-driven/>
      
      <!-- 视图处理 -->
      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 前缀 -->
        <property name="prefix" value="/WEB-INF/pages/" />
        <!-- 后缀 -->
        <property name="suffix" value=".jsp" />
      </bean>
      
    </beans>

    Simple Example

    HelloWorldController.java
    package org.lychie.tutorial.controller;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;

    @Controller
    public class HelloWorldController {

        @RequestMapping("/hello_world")
        public String execute(){
            return "hello_world_page";
        }
        
    }
    访问方式:/hello_world.action
    页面结果:WEB-INF/pages/hello_world_page.jsp ( 与 spring-mvc.xml 配置文件中的配置相关联,具体是:前缀 + 方法返回值 + 后缀 )
    @Controller
    标识这是一个控制器,与 Struts 的 Action 作用相似。被标识的类具有处理请求的能力。
    @RequestMapping
    映射方法访问的 URL 地址,具体的使用放到下一章节中。

    源代码下载

    springmvc-helloworld.zip 
  • 相关阅读:
    检测Linux硬盘IO数据
    获取OrangePI板子CPU温度
    ASP.Net开发WebAPI跨域访问(CORS)的精简流程
    一些常用复合命令
    关于Linux的虚拟内存管理
    Linux中组 与 用户的管理
    linux加载与使用ko驱动
    7z命令行 极限压缩指令
    nodejs的POST请求
    案例:用ajax 方法 解析xml
  • 原文地址:https://www.cnblogs.com/llq5/p/5181507.html
Copyright © 2011-2022 走看看