SpringMVC入门学习(一) 环境搭建+实例演示

简单介绍SpringMVC

SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理以后再返回相应的视图(View)和模型(Model),返回的视图和模型都可以不指定,即可以只返回Model或只返回View或都不返回。

DispatcherServlet是继承自HttpServlet的,既然SpringMVC是基于DispatcherServlet的,那么我们先来配置一下DispatcherServlet,好让它能够管理我们希望它管理的内容。HttpServlet是在web.xml文件中声明的。

下面我们就首先从实例入手,学习SpringMVC。

新建一个动态web网站。

引入相应的jar包(SpringMVC的包和Spring的包完全一样)

配置web.xml:

<!-- Spring MVC配置 -->
 <servlet>
  	<servlet-name>SpringMVC</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为-->
        <!--[<servlet-name>]-servlet.xml,如spring-servlet.xml -->

          <!--<init-param>-->
            <!-- <param-name>contextConfigLocation</param-name>-->

            <!-- <param-value>/WEB-INF/spring-servlet.xml</param-value>  默认-->

         <!-- </init-param> -->

  	<load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
  	<servlet-name>SpringMVC</servlet-name>
  	<url-pattern>/</url-pattern>

  </servlet-mapping>

SpringMVC-servlet.xml配置

spring-servlet这个名字是因为上面web.xml中<servlet-name>标签配的值为spring(<servlet-name>spring</servlet-name>),再加上“-servlet”后缀而形成的spring-servlet.xml文件名,如果改为springMVC,对应的文件名则为springMVC-servlet.xml。

SpringMVC-servlet.xml

    <!-- 启用spring mvc 注解 -->
	<mvc:annotation-driven></mvc:annotation-driven>
	<!-- 设置使用注解的类所在的jar包 -->
    <context:component-scan base-package="com.hjy.testSpringMVC"></context:component-scan>

	<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

DispatcherServlet会利用一些特殊的bean来处理Request请求和生成相应的视图返回。

关于视图的返回,Controller只负责传回来一个值,然后到底返回的是什么视图,是由视图解析器控制的,在jsp中常用的视图解析器是InternalResourceViewResovler,它会要求一个前缀和一个后缀

在上述视图解析器中,如果Controller返回的是blog/index,那么通过视图解析器解析之后的视图就是/blog/index.jsp。

下面结合实例来说明(未使用注解的方式):

web.xml的配置不需要改动。

controller:

public class HelloWorldController implements Controller{

	@Override
	public ModelAndView handleRequest(HttpServletRequest arg0,
			HttpServletResponse arg1) throws Exception {

		System.out.println("-------hello world---------");

		return new ModelAndView("/welcome");
	}

}

修改SpringMVC-servlet.xml配置

    <!-- 启用spring mvc 注解 -->
	<!-- <mvc:annotation-driven></mvc:annotation-driven>
	设置使用注解的类所在的jar包
    <context:component-scan base-package="com.hjy.testSpringMVC"></context:component-scan>
	 -->
	<bean name="/test1/helloworld" class="com.tgb.web.controller.HelloWorldController"></bean>

	<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

访问:http://localhost:8080/SpringMVC/test1/helloworld

以上则为使用SpringMVC实现的一个简单实例!

附加:修改配置文件路径及名称

默认方式的配置文件存放地址

修改路径:

修改web.xml:

<servlet>
  	<servlet-name>SpringMVC</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  		 <init-param>
  			<param-name>contextConfigLocation</param-name>
  			<param-value>classpath*:config/SpringMVC-servlet.xml</param-value>
  		</init-param>
  	<load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
  	<servlet-name>SpringMVC</servlet-name>
  	<url-pattern>/</url-pattern>

  </servlet-mapping>

执行结果:

总结:

以上只是一个应用SpringMVC的简单介绍,算是入门吧,也是要说明一下,对于一个陌生的知识首先我们就没有必要把它看的多么深奥,简单的学习,总结之后,其实它也就那么一回事,有时,会与不会,懂与不懂的差别只是在于你有没有接触过,使用过而已!

时间: 2024-08-07 21:20:50

SpringMVC入门学习(一) 环境搭建+实例演示的相关文章

SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程

刚刚接触了SpringMVC这个框架,因此有必要把它拿过来同hibernate.Spring框架进行集成和开发一个实例,在真正企业从头开发的项目中往往一个稳定的开发环境至关重要,开发一个项目选择什么样的搭建平台也需要有经验才可以,并不是说你会搭建一个开发平台然后公司就会用你搭建的开发平台,一个项目或者一个公司看中的也不是你可以搭出框架,而是在这个框架使用过程中出现的各种问题你可以解决掉. 也就是说呢,无论开发什么项目要做到稳定.环境稳定.开发成本稳定.技术稳定.换句话说就是"风险可控"

JavaSE入门学习4:搭建Java开发环境(二)

在上一篇的博文JavaSE入门学习3:搭建Java开发环境(一)中说到我们配置了Path变量的一种方式,再来说说第 二种配置方式,这种配置方式是必须掌握的. path环境变量配置方式2 我们为什么要将第二种配置形式呢?那第一种的配置方式有什么缺点吗?假设我的计算机上安装了两个JDK,一 个是1.7,一个1.8,我刚才配置的是1.8的,那么我需要配置1.7,需要重新配置Path环境变量,有可能在修改Path环 境变量的同时误删其它的东西,所以不建议使用第一种. path环境变量的参照形配置方式的步

CouchBase学习之环境搭建以及HelloWorld

一.引言 NoSQL(Not Only SQL),火了很久了,一直没空研究.最近手上一个项目对Cache有一定的要求,借此机会对NoSQL入门一下.支持NoSQL的数据库系统有很多,  比如Redis,MongoDB等.每种系统都有自己的优缺点,根据实际情况我们选用了CouchBase作为切入点学习.这里有几种数据库的比较:http://www.csdn.net/article/2013-04-15/2814886-nosql-benchmark CouchBase,是MemBase与couch

SpringMVC入门学习(二)应用注解方式+注解优化

前篇已经介绍使用SpringMVC的方式进行环境搭建,以及一个简单的demo测试,下面我们再来介绍一下使用注解的方式,如何实现. 添加配置文件 springAnnotation-servlet.xml <!-- 注解扫描包 --> <context:component-scan base-package="com.tgb.web.controller.annotation" /> <!-- 开启注解,这两种方式通用 --> <!-- <b

Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

1.下载angularjs 进入其官网下载:https://angularjs.org/?,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.7/angular.js 所有版本:https://code.angularjs.org/ 2.示例1 HelloWorld ! 新建一个helloworld.html <!doctype html> <html ng-app> <head> &

SpringMVC入门学习(二)

SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. model.addAttribute()的使用 model接口的源代码: 由图可知,在addAttribute()中有两种入参方式,一种是指明名字var1,一种是不指明名字var1.在不指明名字中,会通过相近的去寻找. 在addAttribute()中,我们可以放任何对象: 首先先导入jsp标签maven

【golang学习】环境搭建

近期项目的需要开始了学习golang的旅程,在此将学习的过程做以记录,方便查看,也希望帮助到大家. 由于我使用的是64位linux环境(redhat 5.2),所以这里就介绍64位的安装方式,其他类似: 1. 下载安装包 自从2014年5月谷歌在国内被封杀之后,我们下载go安装包也得翻墙了,但是为了方便我上传了一个64位linux的包在(地址),你可以直接下载使用. 2.安装 下载完上传到你的linux系统中,比如/opt/go1.1.1.linux-amd64.tar.gz,这是就开始安装了,

Android学习之环境搭建

Android学习之环境搭建 园里有很多关于Android开发的环境搭建的资料,本人是安卓开发初学者,这里记录一下个人搭建Android环境的总结. 1.准备Eclipse IDE for Java Developers 网上可以下载的版本还是比较多的,本人选择了eclipse-java-luna-SR2-win32. 网址:http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/lunasr2 Note:官网点

Mule 入门之:环境搭建

Mule 入门之:环境搭建 JDK1.5或以上版本Eclipse3.3以上 下载与安装:目前最新版本为2.2.1 下载,下载后得到一名为mule-standalone-2.2.1.zip的压缩文件,解压到本地,如:H:\mule-2.2.1,再在环境变量中设置变量:MULE_HOME,值为H:\mule-2.2.1, ====================================================================== ===================