Spring和第一个spring项目
来源:互联网 发布:搜索引擎优化流程 编辑:程序博客网 时间:2024/06/14 10:40
Spring MVC
MVC将一个应用分成三个基本邠:Model(模型),View(试图),Controller(控制器)。
MVC有如下特点:
1. 多个视图可以对应一个模型。这样减少了代码的复制以及代码的维护量,易于维护。
2. 模型返回的数据与现实逻辑分离。例如我们经常使用JSP页面。
3. 应用被分为三层,这降低了各层之间的耦合,提供了应用的可扩展性。
4. 控制层的概念也很有效,它把不同的试图组合在一起,完成不同的请求。因此,控制层可以说也包含了用户请求权限的概念
5. MVC更加符合软件工程化管理的精神。不同的层各司其职,大大提高了效率。
Spring MVC的优势
1. 有强大的灵活性、非侵入性和可配置性。(这里的侵入性是指耦合强度,侵入性越高则耦合越强,所以,非侵入性就是耦合性低)
2. 可以自动绑定用户输入,并正确地转换数据类型。例如:能自动解析字符创,并将其设置为模型的int或float类型的属性。
3. SpringMVC使用一个名称/值的Map对象实现更加邻国的模型数据传输。
4. 支持多试图技术,最常见的就是JSP技术。
5. 有一个强大的标签库。
SpringMVC的DispatcherServlet
DispacherServlet是一前端控制器,用户所有的请求驱动围绕这个DispatcherServlet来分派请求。DispatcherSerlet是一个Servlet(它继承自HttpServlet基类),因此使用时需要把它噢诶之在Web应用的博士描述符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" 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"> <!--配置springMVC的dispatcherServlet--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 让Spring MVC的前端控制器拦截所有请求 --> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
配置一个DispacherServlet,该servlet在Web程序启动是会自动立即加载,加载时会需要一个SpringMVC的配置文件,默认情况下,应用汇去应用横须文件夹的WEB-INF下查找赌赢的[servlet-name]-servlet.xml文件。例如本实例就是的<servlet-name>就是springmvc,默认查找的就是/WEB-INF/springmvc-servlet.xml。
解析该配置文件会根据文件信息创建一个ApplicationContext容器对象,就是我们一般看见的上下文环境。有了WebApplicationContext容器,开发者就可以很自认地使用Spring的IOC,AOP等其他功能了。
第一个Spring项目
springmvc.xml配置文件,在在WEB-INF下,和web.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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.3.xsd"> <!-- 配置Handle,映射"/hello"请求 --> <bean name="/hello" class="org.fkit.comtorller.HelloControllor"/> <!-- 处理映射器将bean的name作为url进行查找,需要在配置Handle是指定name(即url) --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- SimpleControllerHandlerAdapter是一个处理适配器,所有处理适配器都要事先HandlerAdapter --> <bean class="org.springframework.web.servlet.mvc.SimpleConterllerHandlerAdapter"/> <!-- 试图解析器 --> <bean class="org.springframework.web.servlet.view.InternalReaourceViewResolver"/></beans>Controller类的实现,代码如下:
package org.fkit.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;public class HelloController implements Controller{private static final Log logger = LogFactory.getLog(HelloController.class);/** * handleRequest是Controller接口必须实现的方法 * 该方法的参数是对应请求的HttpServletRequest和HTTPServletResponse * 该方法必须返回一个包含视图名或视图名和模型的ModelndView对象 */@Overridepublic ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {logger.info("handleRequest 被调用");//创建准备返回的ModelAndView对象,该对象通常包含了返回视图名,模型的名称以及迷行对象ModelAndView mv = new ModelAndView();//添加模型数组,可以是任意的POJO对象mv.addObject("message","Hello World");//设置逻辑视图名,驶入解析器会根据该名字解析到具体的试图界面mv.setViewName("/WEB-INT/content/welcome.jsp");//返回ModelAndView对象return mv;}}
最后自己再写一哥jsp页面就可以进行部署了.
希望各位继续关注,暑假期间写的主要内容是SSM框架,LInux系统操作基础和算法编程题.
- Spring和第一个spring项目
- Spring第一个项目
- 第一个Spring项目
- 第一个spring项目helloWord
- spring第一个项目搭建
- 第一个Spring和Spring环境搭建
- 第一个Spring MVC小项目
- 第一个使用Spring Tool Suite(STS)和Maven建立的Spring mvc 项目
- 第一个使用Spring Tool Suite(STS)和Maven建立的Spring mvc 项目
- 使用Spring Tool Suite(STS)和Maven建立的第一个Spring mvc 项目
- 第一个使用Spring Tool Suite(STS)和Maven建立的Spring mvc 项目
- Spring读书笔记-----部署我的第一个Spring项目
- Spring读书笔记-----部署我的第一个Spring项目
- Spring读书笔记-----部署我的第一个Spring项目
- javaweb:spring mvc+spring+hibernate第一个项目
- spring boot之创建第一个Spring boot项目
- Spring的下载和第一个Spring程序
- Spring的下载和第一个Spring HelloWorld程序
- 62 linux内核里基于GPIO口的SPI控制器驱动
- ABAP BINARY SEARCH--二分法
- 如何优雅地测量一只猫的体积
- java学习 —————— 集合类
- RAID详解
- Spring和第一个spring项目
- WebView、X5WebView技术点汇总
- Xmanager Enterprise 4 xshell的使用
- urlhelper 使用教程
- flake的路由表述方式
- android开发常用组件及其使用方法链接
- 关于 正向代理、反向代理
- Kotlin-函数
- java类库