springMVC执行流程及环境搭建
2013-08-19 10:04
405 查看
springMVC和struts一样,都是服务于web层的MVC框架。
亲自动手搭建开发环境:
1. 下载springMVC的jar文件,将需要的jar添加到web项目中。
2. 登录页
3. 在web.xml中指定SpringMVC的入口
4. 核心配置文件
5. Controller的实现
这里用的是annotation注解来完成浏览器和服务器之间的映射关系,这种配置形式避免了在配置文件中定义请求映射关系。当然,也可以向struts一样,采用xml配置形式。不过,使用annotation比xml配置要方便多的。
controller可以采用继承和非继承两种方式,可以实现Controller或者继承MultiActionController类,也可以定义成完全的pojo类。
同struts一样,一个controller中可以处理多个方法,每个方法的返回值可以为void,string,ModelAndView。springMVC的controller支持形参方式接收请求的数据。controller中可以声明HttpServletRequest和HttpServletResponse,返回值和参数也可以通过这两个对象来处理。
之前,我们学习了struts的执行流程,既然springMVC和struts都属于web层的框架,那么,从宏观上来说,他们的逻辑步骤是很相似的,归纳起来就是:
1. 对http请求进行处理,查找相应的controller/Action类及方法
2. 执行业务逻辑
3.返回处理结果
只是,不同的框架在每一步的实现上所采用的实现方式也就是设计思路不同而已。每个框架设计思路不同,对于需要使用者实现的组件的实现方式也是不同的,通过三篇博客中三个登录的实现,我们已经学习了三个框架在使用上的区别,接下来了解一下springMVC的几个核心组件及实现流程:
1. DispatcherServlet :核心控制器,读取配置文件信息,初始化其他组件
2. Controller :完成业务逻辑,指定转向信息
3. HandlerMapping:将请求映射到具体的controller上
4. HandlerAdapter:HandlerMapping根据HandlerAdapter选择需要被执行的方法
4. ViewResolver 视图解析器,根据controller中返回的viewName,结合配置信息,创建出合适类型的view对象
亲自动手搭建开发环境:
1. 下载springMVC的jar文件,将需要的jar添加到web项目中。
2. 登录页
<form id="logon" action="user/logon" method="post"> <input type="text" id="userName" name="userName"><br> <input type="text" id="passWord" name="passWord"><br> <input type="submit" id="logon" value="登录"> </form>
3. 在web.xml中指定SpringMVC的入口
<!--添加spring3的控制器及映射规则 --> <servlet> <servlet-name>/testSpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--核心配置文件spring-servlet.xml的默认位置在web-inf下的,启动DispatcherServlet时会自动加载配置文件,当修改了springMVC默认配置文件位置时,spring提供了一个初始化的配置选项,通过contextConfigLocation来自定义spring-servlet.xml的位置,现在配置文件放在src/config目录下--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/spring-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>/testSpringMVC</servlet-name> <url-pattern>*</url-pattern> </servlet-mapping>
4. 核心配置文件
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-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/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!--使用注解方式需要开启注解并配置注解扫描包 --> <!-- 注解扫描包 --> <context:component-scan base-package="com.tgb.*" /> <!-- 开启注解 --> <mvc:annotation-driven/> <!--视图解析器,定义springMVC的模板文件 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--模板的路径 --> <property name="prefix" value="/"></property> <!--模板的后缀 --> <property name="suffix" value=".jsp"></property> </bean> </beans>
5. Controller的实现
@RequestMapping("/logon.do") public ModelAndView logon(String userName,String passWord){ String result=null; if("administrator".equals(userName)&&("administrator").equals(passWord)){ result="success"; } return new ModelAndView("/success","result",result); } //返回string类型 @RequestMapping("/logon2") public String logon2(String userName,String passWord,HttpServletRequest request ){ String result=success; request.setAttribute("result", result); return "/success"; } //返回void类型 @RequestMapping("/addUser) public void addUser(String userName,String passWord,HttpServletResponse response) throws IOException{ String result="{\"result\": \"error\"}"; response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.write(result); }
这里用的是annotation注解来完成浏览器和服务器之间的映射关系,这种配置形式避免了在配置文件中定义请求映射关系。当然,也可以向struts一样,采用xml配置形式。不过,使用annotation比xml配置要方便多的。
controller可以采用继承和非继承两种方式,可以实现Controller或者继承MultiActionController类,也可以定义成完全的pojo类。
同struts一样,一个controller中可以处理多个方法,每个方法的返回值可以为void,string,ModelAndView。springMVC的controller支持形参方式接收请求的数据。controller中可以声明HttpServletRequest和HttpServletResponse,返回值和参数也可以通过这两个对象来处理。
之前,我们学习了struts的执行流程,既然springMVC和struts都属于web层的框架,那么,从宏观上来说,他们的逻辑步骤是很相似的,归纳起来就是:
1. 对http请求进行处理,查找相应的controller/Action类及方法
2. 执行业务逻辑
3.返回处理结果
只是,不同的框架在每一步的实现上所采用的实现方式也就是设计思路不同而已。每个框架设计思路不同,对于需要使用者实现的组件的实现方式也是不同的,通过三篇博客中三个登录的实现,我们已经学习了三个框架在使用上的区别,接下来了解一下springMVC的几个核心组件及实现流程:
1. DispatcherServlet :核心控制器,读取配置文件信息,初始化其他组件
2. Controller :完成业务逻辑,指定转向信息
3. HandlerMapping:将请求映射到具体的controller上
4. HandlerAdapter:HandlerMapping根据HandlerAdapter选择需要被执行的方法
4. ViewResolver 视图解析器,根据controller中返回的viewName,结合配置信息,创建出合适类型的view对象
相关文章推荐
- struts2执行流程及环境搭建
- struts2执行流程及环境搭建
- Spring 、SpringMVC、Mybatis、MySQL、Maven、Tomcat搭建JavaWeb项目流程---学习笔记(一)工具准备及环境配置
- Struts2执行流程及环境搭建
- struts1执行流程及环境搭建
- 第28天(就业班) 自定义mvc框架、Struts入门及执行流程、环境搭建
- struts1执行流程及环境搭建
- 集成springmvc和mybatis环境的Javaweb基础框架,省去新手搭建繁琐环境的苦恼
- springMVC学习篇 - 搭建环境及关键点
- 【SpringMVC框架】springmvc入门程序-环境搭建
- phpstorm开发环境搭建流程
- java springMVC执行流程
- SpringMVC_Spring_Mybatis环境搭建
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行
- JBPM4.4环境搭建流程
- SpringMVC(关于HandlerMapping执行流程原理分析)
- 基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程(之三)——OS调试过程
- 搭建springmvc环境的步骤(基于配置文件)
- window环境下搭建React Native简易流程
- springmvc的执行流程