SpringMVC入门demo

  1. 为什么要学习SpringMVC呢?

Spring框架号称是JavaEE应用的一站式解决方案,Spring本身有提供了一个设计优良的MVC框架,SpringMVC。由于Spring框架拥有极高的市场占有率,因此越来越多的Spring框架使用者使用SpringMVC代替曾经的MVC框架的王者Struts2。当然Spring也可以无缝地整合Struts、JSF等优秀的MVC框架。

越来越多的企业开始选择则SpringMVC+Mybatis来构建系统架构,而在电商热门的今天,SpringMVC+Mybatis已经成为电商项目架构的最佳搭配。

什么是MVC思想?MVC的优势又是什么?MVC,它不是Java语言所特有的设计思想,也并不是Web应用所特有的思想,而是所有面向对象程序设计语言都应该遵守的一种规范。MVC的优势在于:

  1. 他将一个应用分文三个层次(M,V,C这里就不多概述),这三个部分协同工作,把应用程序代码的耦合度降到了最低,这就提高了程序的可扩展性和可维护性。

  2. 多个视图可以对应一个模型,这样就减少了代码的重复性,以及代码的维护量。
  3. 因为将模型数据和显示层分离开来,所以模型数据可以应用于任何显示技术,包括jsp页面、velocity模板或者直接产生Excel文档。
  4. MVC更有利于工程化管理地软件,不同的层各司其职,有利于通过工程化和工具化的方法来管理程序代码。

SpringMVC又具有哪些优势呢?

  1. SpringMVC灵活性高、非侵入性以及可配置性。

  2. SpringMVC提供了一个前端控制器DispatcherServlet,开发人员不用额外开发控制器对象。
  3. SpringMVC分工明确,包括控制器、验证器、命令对象、模型对象、处理程序映射试图解析器等,每个功能的实现都由一个专门的对象来负责完成。
  4. SpringMVC可以自动绑定用户输入,并正确的转换数据类型。(例如可将字符串解析为模型的int或者float类型的属性)。
  5. SpringMVC使用了一个名称/值的Map对象实现更加灵活的模型数据传输。
  6. SpringMVC内置了常见的校验器,可以校验用户输入,如果校验不通过,重定向到输入表单。输入校验是可选的并且支持编程方式以及声明方式。
  7. SpringMVC支持国际化,配置极其简单。
  8. SpringMVC支持多种视图技术:JSP、Velocity和FreeMarker.
  9. Spring提供了一个简单而又强大的JSP标签库,支持数据绑定功能,使得编写JSP页面更加容易。

话不多说,直接上代码(编写HelloWorld的步骤):

  1. 首先需要做的就是导入所需的jar包:Spring的所有jar包以及commons-logging.jar。

Spring下载地址:http://repo.spring.io/release/org/springframework/spring/ 。

commons-logging.jar下载地址:http:commons.apache.org 。

配置web.xml——DispatcherServlet前端控制器的配置。

  <!-- 定义Spring MVC前端控制器 -->
  <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-config.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>

配置SpringMVC的Controller<?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.2.xsd">
<!-- 配置handle,映射hello请求 -->
<bean name="/hello" class="org.fkit.controller.HelloController"/>
<!-- 处理映射器将bean的name作为url进行查找,需要在配置Handle时指定name(即url) -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- SimpleControllerHandlerAdapter是一个处理器适配器,所有处理器适配器都是要实现HandlerAdapter接口 -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
</beans>Controller类的实现

public class HelloController implements Controller{

	private static final Log logger = LogFactory.getLog(HelloController.class);

	@Override
	public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
		// TODO Auto-generated method stub
		logger.info("handleRequest被调用");
		ModelAndView mv = new ModelAndView();
		mv.addObject("message","Hello SpringMVC!");
		mv.setViewName("/WEB-INF/content/welcome.jsp");
		return mv;
	}

}

View页面的实现

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>初识SpringMVC</title>
</head>
<body>
${requestScope.message }
</body>
</html>

测试应用:访问下面网址:

http://localhost:8080/SpringMVCTest/hello

时间: 2024-08-11 18:45:22

SpringMVC入门demo的相关文章

【SSH系列】深入浅出SpringMvc+入门Demo

Spring MVC框架是有一个MVC框架,通过实现Model-View-Controller模式来很好地将数据.业务与展现进行分离.从这样一个角度来说,Spring MVC和Struts.Struts2非常类似.Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler.通过可配置的handler mappings.view resolution.locale以及theme resolution来处理请求并且

Spring学习笔记-springMVC入门Demo

MVC模式很好的提高了Web项目的开发效率,同时也提高了系统的可维护性.基于mvc模式的Web层框架也是琳琅满目,从最开始的struts1.struts2(风靡n年),到现在的springMVC.这些框架的基本目的大致有两个:一个是简化web开发过程中的常见操作,入表单数据的封装,校验,请求的处理,数据的回显,文件上传下载及安全性问题等:第二就是基于mvc模式,构建结构良好的应用程序. 常见的web层框架很多,也各有千秋,经过长时间的演化,目前在web项目开发中最常用.最简洁高效的就是sprin

SpringMVC入门

介绍 SpringMVC是一款Web MVC框架. 它跟Struts框架类似,是目前主流的Web MVC框架之一. 本文通过实例来介绍SpringMVC的入门知识. 实例 本文所写的实例是一个员工的CRUD demo. 用idea编写,基于maven, Web框架使用SpringMVC,视图采取Freemarker技术,数据库使用MySQL,用Hibernate4存储数据. 本文关于其他一些内容 如maven的pom文件内容,spring常规bean,事务,数据源的配置等不会详细描述,可自行下载

SpringMVC入门之注解式控制器

上面一篇写的是配置式的控制器现在已经不推荐使用了,其实注解式控制器和它的差不多只不过 更简洁而已! 1.还是在web.xml中进行配置DispatcherServlet <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-para

mybaits入门demo配置文件详解(二)

第一篇文章: mybaits开发环境准备及入门demo(一) 一.配置文件mybatis-config.xml 官方是这么说的:MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息 在MyBatis 的配置文件中 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//myba

mybaits入门demo映射文件详解(三)

第二篇文章:  mybaits入门demo配置文件详解(二) Mapper XML 文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码.MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好. SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 给定命名空间的缓存配置. cache-ref –

springmvc入门之HelloWorld篇

springmvc是一个基于spring的mvc框架,各种优点啥的用过就知道了.下面开始讲HelloWorldController的实现. 1.开发环境搭建<导jar包+配置文件> 1.1 新建web工程springmvc,导入springmvc所需的jar包,因为springmvc是基于spring的,所以必须包含spring的jar包,我用的版本是spring3.1.0.导入以下jar包: 1.2 配置web.xml <!-- spring mvc配置 处理*.action和*.do

2017-5-23 SpringMVC入门(一)

2017-5-23 SpringMVC入门(一) SpringMVC Maven Java 1.依赖引入 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.ap

RabbitMq 集成 spring boot 消息队列 入门Demo

spring boot 集成 RabbitMq还是很方便的.现在来一个简单的例子来集成rabbitmq.入门demo. 主要概念: 其中比较重要的概念有 4 个,分别为:虚拟主机,交换机,队列,和绑定. 虚拟主机:一个虚拟主机持有一组交换机.队列和绑定.为什么需要多个虚拟主机呢?很简单,RabbitMQ当中,用户只能在虚拟主机的粒度进行权限控制. 因此,如果需要禁止A组访问B组的交换机/队列/绑定,必须为A和B分别创建一个虚拟主机.每一个RabbitMQ服务器都有一个默认的虚拟主机"/"