| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

SpringMVC入门

1、Spring  MVC 背景介绍

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer PagesJSP)技术、VelocityTilesiText 和 POISpring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

 

2、常见MVC框架比较 

    运行性能上:

        Jsp+servlet>struts1>spring mvc>struts2+freemarker>>struts2,ognl,值栈。

    开发效率上,基本正好相反。值得强调的是,spring mvc开发效率和struts2不相上下。

 

Struts2的性能低的原因是因为OGNL和值栈造成的。所以,如果你的系统并发量高,可以使用freemaker进行显示,而不是采用OGNL和值栈。这样,在性能上会有相当大得提高。

3、SpringMVC 核心原理

1. 用户发送请求给服务器。urluser.do

2. 服务器收到请求。发现DispatchServlet可以处理。于是调用DispatchServlet

3. DispatchServlet内部,通过HandleMapping检查这个url有没有对应的Controller。如果有,则调用Controller

4. Controller开始执行。

5. Controller执行完毕后,如果返回字符串,则ViewResolver将字符串转化成相应的视图对象;如果返回ModelAndView对象,该对象本身就包含了视图对象信息。

6. DispatchServlet将执视图对象中的数据,输出给服务器。

7. 服务器将数据输出给客户端。

4、基于spring 3.0项目开发实例

    1、导入相关jar包

    2、配置web.xml  

<?xml version="1.0" encoding="UTF-8"?>  <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">    <display-name>SpringMVCDemo</display-name>          <servlet>          <servlet-name>web servlet</servlet-name>          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>           <init-param>              <param-name>contextConfigLocation</param-name>              <param-value>WEB-INF/spring-mvc.xml</param-value>          </init-param>          <load-on-startup>1</load-on-startup>      </servlet>            <servlet-mapping>          <servlet-name>web servlet</servlet-name>          <url-pattern>/</url-pattern>         </servlet-mapping>    </web-app>

  3、配置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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"      xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"      xsi:schemaLocation="http://www.springframework.org/schema/beans                http://www.springframework.org/schema/beans/spring-beans.xsd                http://www.springframework.org/schema/context                 http://www.springframework.org/schema/context/spring-context.xsd                http://www.springframework.org/schema/aop                http://www.springframework.org/schema/aop/spring-aop.xsd                http://www.springframework.org/schema/tx                 http://www.springframework.org/schema/tx/spring-tx.xsd                http://www.springframework.org/schema/mvc                 http://www.springframework.org/schema/mvc/spring-mvc.xsd                http://www.springframework.org/schema/context                 http://www.springframework.org/schema/context/spring-context.xsd">        <!--告知Spring,我们启用注解驱动-->      <mvc:annotation-driven />        <!--配置要扫描注解的类的路径-->      <context:component-scan base-package="com.excel.controller"></context:component-scan>        <!--配置获取VIEW的方式 -->      <bean    class="org.springframework.web.servlet.view.InternalResourceViewResolver"          p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />  </beans>

4、编写控制器

package com.excel.controller;    import org.springframework.stereotype.Controller;  import org.springframework.ui.ModelMap;  import org.springframework.web.bind.annotation.ModelAttribute;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestParam;  import org.springframework.web.bind.annotation.SessionAttributes;    @Controller  @RequestMapping("user")  public class UserController {              //RequestParam  当传递参数名与接收名称不一致时指定      @RequestMapping("/login.do")      public String login(String userName ){          System.out.println("User Login...."+userName);          return "index";      }  }


 

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1403149303747.html
SpringMVC Spring MVC Web框架