JavaEE框架——Springmvc的使用

一、简介:

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

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


二、SpringMVC几个核心类:

  • 控制器核心类:org.springframework.web.servlet.DispatcherServlet - 配置web.xml
  • 加载配置文件核心类:org.springframework.web.context.ContextLoaderListener – spring的配置文件
  • 处理url影射核心类:org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping-根据bean的名称请求一个bean. spring的配置文件- /abc
  • 处理视图资源核心类:org.springframework.web.servlet.view.ResourceBundleViewResolver  returnhello – 决定返回的字符串由哪一个页面来显示。
  • 处理注解URL核心类:org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping- 用于识别@RequestMapping注解。使用了上面的类,Controller还是需要配置的。用于替代上面的类。
  • 方法动态调用核心类org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver
  • 文件上传核心类:org.springframework.web.multipart.commons.CommonsMultipartResolver

三:用Spring处理Web请求-Spring的MVC

JavaEE框架——Springmvc的使用_第1张图片


四、几个核心类演示

            1.DispatcherServlet详解:

  •  DispatcherServletSpringMVC的核心类,它就是一个Servlet.此类默认读取WEBINF/[servlet-name]-servlet.xml配置文件。
  • 重要说明:DispatcherServlet可以多次配置到web.xml中,它们将会读取自己的配置文件,但不会共享Bean.如果希望设置一些共享的Bean应该配置ContextLoaderListener来读取Spring的配置文件。

配置DispatcherServlet

1.在web.xml中加入servlet,namespac e默认可以不写,如果写了,就可以随便改名字,不一定要写出servlet-name]-servlet.xml,这里只是为了规范

[html]  view plain  copy
 
  1.         <context-param>  
  2.         <param-name>contextConfigLocationparam-name>  
  3.         <param-value>  
  4.             classpath:beans.xml,  
  5.              param-value>  
  6.     context-param>  
  7.     <listener>  
  8.         <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>  
  9.     listener>  
  10.     <servlet>  
  11.         <servlet-name>springmvcservlet-name>  
  12.         <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>  
  13.         <init-param>  
  14.             <param-name>namespaceparam-name>  
  15.             <param-value>springmvc-servletparam-value>  
  16.         init-param>  
  17.         <load-on-startup>1load-on-startup>  
  18.     servlet>  
  19.     <servlet-mapping>  
  20.         <servlet-name>springmvcservlet-name>  
  21.         <url-pattern>/sp/*url-pattern>  
  22.     servlet-mapping>  

2.在WEB-INF目录下写上springmvc-servlet.xml配置文件

[html]  view plain  copy
 
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.         xmlns:context="http://www.springframework.org/schema/context"  
  5.         xmlns:tx="http://www.springframework.org/schema/tx"  
  6.         xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd  
  7.                 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd  
  8.                 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">  
  9.       
  10.     <bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">  
  11.         <property name="basenames">  
  12.               
  13.             <value>springmvcvalue>  
  14.         property>  
  15.         <property name="defaultParentView" value="hncu">property>  
  16. bean>  

默认会在classpath目录下查找springmvc.properties资源文件

springmvc.properties

[html]  view plain  copy
 
  1. #配置一个字符串指向一个页面,配置文件中至少应该包括两项内容:  
  2. #1.指定返回的是什么页面(jstlJSP,pdf,doc)  
  3. #2.指定包装页面路径  
  4. ##如果一个字符串页面没有配置class,则它直接使用父View的  
  5. hncu.(class)=org.springframework.web.servlet.view.JstlView  
  6. hncu.url=/jsps/hello.jsp  

你可能感兴趣的:(JavaEE框架——Springmvc的使用)