springmvc的介绍和第一个例子
2014-06-03 22:29
471 查看
SpringMVC是Spring 框架自带的一部分。
SpringMVC底层基于:Servlet
Struts2底层基于:filter
struts1底层基于:Servlet
spring 各模块
我们这里学的是MVC
2. 从请求中搜集数据
3. 对传入的参数进行验证
4. 将结果返回给视图
5. 针对不同的视图提供不同的解决方案
6. 针对jsp视图技术提供标签库
7. 拦截器
8. 上传文件
2. Controller:具体处理请求的控制器 (想当Struts2的Action)
3. handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略
4. ModelAndView:服务层返回的数据和视图层的封装类
5. ViewResolver & View:视图解析器,解析具体的视图
6. Interceptors :拦截器,负责拦截我们定义的请求然后做处理工作,可以做权限拦截
注:加粗要自己创建的,黑色的是springmvc提供的;
1. 创建一个web工程 springmvc-1
2. 导入依赖包
3.创建springmvc的配置文件
配置中央控制器 在web.xml下
默认位置:WEB-INF下
文件的命名规则:中央控制器(servlet的名称)的名称+“-servlet.xml” :springmvc-servlet.xml
4. 创建controller:TestController继承AbstractController 在cn.edu.hqu.springmvc包下
配置:controller和视图 springmvc-servlet.xml
新建index.jsp 在/WEB-INF/jsp/下
部署到tomcat启动,访问:http://localhost:8080/springmvc-1/hello.do
跳转到index.jsp ,控制台输出:hello springmvc
BeanNameUrlHandlerMapping (默认)
如果有配置下面两种那么就要配置默认的,不然hello.do就不能访问,这个有点像我们JAVASE学的的构造器;如果添加一个构造器那么就要把默认无参构造写上
按着controller的name来映射寻找controller,默认存在
2.SimpleUrlHandlerMapping
重启tomcat,访问:http://localhost:8080/springmvc-1/hello1.do
成功;
3.ControllerClassNameHandlerMapping
根据类名来访问,
<!-- 控制类的类名控制器,访问时类名首字母需要小写 -->
成功;
jar包下载:http://pan.baidu.com/s/1i3wuAdJ
项目:http://pan.baidu.com/s/1kTqkU27
SpringMVC底层基于:Servlet
Struts2底层基于:filter
struts1底层基于:Servlet
spring 各模块
我们这里学的是MVC
spring mvc都做了些什么
1. Controller为中心完成对系统流程的控制管理 (相当于Struts的Action)2. 从请求中搜集数据
3. 对传入的参数进行验证
4. 将结果返回给视图
5. 针对不同的视图提供不同的解决方案
6. 针对jsp视图技术提供标签库
7. 拦截器
8. 上传文件
spring-mvc结构、核心组件
1. DispatcherServlet:中央控制器,把请求给转发到具体的控制类2. Controller:具体处理请求的控制器 (想当Struts2的Action)
3. handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略
4. ModelAndView:服务层返回的数据和视图层的封装类
5. ViewResolver & View:视图解析器,解析具体的视图
6. Interceptors :拦截器,负责拦截我们定义的请求然后做处理工作,可以做权限拦截
注:加粗要自己创建的,黑色的是springmvc提供的;
mvc模式
springmvc组件流程
spring-mvc的第一个例子
(使用配置文件,了解即可,现在主要都是使用注解方式开发)1. 创建一个web工程 springmvc-1
2. 导入依赖包
3.创建springmvc的配置文件
配置中央控制器 在web.xml下
<!-- springmvc的中央控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>创建springmvc的核心配置文件
默认位置:WEB-INF下
文件的命名规则:中央控制器(servlet的名称)的名称+“-servlet.xml” :springmvc-servlet.xml
4. 创建controller:TestController继承AbstractController 在cn.edu.hqu.springmvc包下
package cn.edu.hqu.springmvc; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; public class TestController extends AbstractController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { System.out.println("hello springmvc"); return new ModelAndView("jsp/index"); } }
配置:controller和视图 springmvc-servlet.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" 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-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 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 "> <!-- 需要配置controller,handlerMapping,ViewResolver, interceptor --> <!-- 使用默认的映射处理器来映射controller --> <bean id="testController" name="/hello.do" class="cn.edu.hqu.springmvc.TestController"></bean> <!--视图解析器 前缀+ viewName +后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- webroot到某一指定的文件夹的路径 --> <property name="prefix" value="/WEB-INF/"></property> <!-- 视图名称的后缀 --> <property name="suffix" value=".jsp"></property> </bean> </beans>
新建index.jsp 在/WEB-INF/jsp/下
部署到tomcat启动,访问:http://localhost:8080/springmvc-1/hello.do
跳转到index.jsp ,控制台输出:hello springmvc
.三种handlerMapping
1.BeanNameUrlHandlerMapping (默认)
如果有配置下面两种那么就要配置默认的,不然hello.do就不能访问,这个有点像我们JAVASE学的的构造器;如果添加一个构造器那么就要把默认无参构造写上
按着controller的name来映射寻找controller,默认存在
<!-- 映射处理器之间是独立的,不相互影响 --> <!-- 默认的映射处理器 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
2.SimpleUrlHandlerMapping
<!-- 简单url的映射处理器 --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hello1.do">testController</prop> </props> </property> </bean>
重启tomcat,访问:http://localhost:8080/springmvc-1/hello1.do
成功;
3.ControllerClassNameHandlerMapping
根据类名来访问,
<!-- 控制类的类名控制器,访问时类名首字母需要小写 -->
<!-- 控制器的类名映射处理器 --> <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>重启tomcat,访问:http://localhost:8080/springmvc-1/testController.do
成功;
jar包下载:http://pan.baidu.com/s/1i3wuAdJ
项目:http://pan.baidu.com/s/1kTqkU27
相关文章推荐
- springmvc的介绍和第一个例子
- NAnt简单介绍和我第一个例子
- 04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s
- SpringMVC第一个入门例子
- 读书笔记(1) OpenLayers介绍和第一个例子
- SSH与SSM学习之Spring01——介绍、搭建环境与第一个例子
- SSH与SSM学习之Struts201——介绍与环境搭建和第一个例子
- 第一个SpringMVC例子
- 【RocketMQ原理解析1.1】整体介绍&IDE编译并启动RocketMQ的第一个例子
- iOS-C语言-C语言的介绍以及第一个例子HelloWorld
- Struts2学习(一)【介绍与环境搭建和第一个例子】
- springmvc 第一个入门例子
- 使用Intellij IEDA创建第一个springmvc例子
- springMVC 第一个小例子
- Spring Boot2.0(2) 介绍以及第一个例子
- 第一个SpringMVC例子
- 【RocketMQ源码深度解析】整体介绍&IDE编译并启动RocketMQ的第一个例子
- OpenLayers介绍和第一个例子(转载)
- OpenLayers介绍和第一个例子
- OpenLayers介绍和第一个例子