SpringMVC简单入门
SpringMVC简单入门
与大家分享一下最近对SpringMVC的学习,希望本文章能对大家有所帮助。
首先什么是SpringMVC?
Spring 为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC 框架之一,同时在本人看来在某些地方实现对servlet很好的封装,当然,SpringMC中最重要的还是其MVC部分以及Spring方面。
SpringMVC框架也是一个较为方便实用较为简单的框架,学习框架从SpringMVC开始是不二之选。
废话不多说,还是上代码。
以下是实现的基本步骤:
1、加入jar包
2、配置web.xml
3、配置SpringMVC配置文件
4、编写处理请求的处理器
5、编写相应的视图
下面是详细步骤:
1、首先是SpringMVC构建的架包(是用别人的东西,第一步就是得导jar包)
以4.0版本的方式给大家演示。
涉及jar包:
–commons-logging-1.1.3.jar
–spring-aop-4.0.0.RELEASE.jar
–spring-beans-4.0.0.RELEASE.jar
–spring-context-4.0.0.RELEASE.jar
–spring-core-4.0.0.RELEASE.jar
–spring-expression-4.0.0.RELEASE.jar
–spring-web-4.0.0.RELEASE.jar
–spring-webmvc-4.0.0.RELEASE.jar
2、配置web.xml
<!-- 前端控制器 -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param> <load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
通过“Alt+/”的方式可以直接找到 可以直接生成servlet的相关内容 。
其中DispatcherServlet是处理器Handler,基本意思就是你的请求来了就先由他接收然后按照你的springmvc.xml配置决定如何去处理。
下面的<url-pattern>/</url-pattern>表示拦截所有请求,放过jsp文件交由Handler处理。
<init-param>
2 <param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
这里的配置表示的是我们给springmvc..xml指定位置已经名字,在开发中为了规范,基本都如此配置。其中的classpath指的是src的位置,表明之后编译器会在src下寻找对springmvc..xml的配置。
若在此没有配置那么,系统将自动在WEB-INF按照servlet-name的属性值+"-servlet.xml"的信息寻找。
<!-- 设置过滤器 处理POST请求乱码问题 -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <!-- 设置编码方式 -->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter> <filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这里是使用过滤器进行对post请求乱码的处理,这个在使用中基本大家都会用到,配置是尽量加上。
3、配置Springmvc.xml文件
<!-- 加载mvc驱动 这个驱动在后续使用的很多位置都将使用到,类似自定义格式转换器,等等 -->
<mvc:annotation-driven ></mvc:annotation-driven>
4 <!-- 加载controller包 将包下使用@Controller注解的类加载到IOC容器中 -->
<context:component-scan base-package="xx.xxx.controller"></context:component-scan> <!-- 配置视图解析器 InternalResourceViewResolver解析器是解析中顺序最后的
其中解析顺序按照order来判断 其order为 Integer.MAX_VALUE
9 在使用其他解析器的情况下,可以通过配置order的方式空值解析顺序-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/Jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
在其中属性的配置中,配置了视图解析结构拼接的前后缀,处理器Handler处理后的Model AndView将会处理配置成视图地址,也就是说后面的视图需要写在配置的地址中,即:/WEB-INF/Jsp/。
4、编写handler 处理器在开发中也常被叫做controller,其中SpringMVC.xml的配置中扫描的包就是存Handler的包。
下面是一个简单的Controller的类
@Controller
public class AContrller {
@RequestMapping(value="/testSpringMVC",method=RequestMethod.GET)
public ModelAndView testSpringMVC (){
ModelAndView modelAndView = new ModelAndView();
return modelAndView;
}
}
首先@Controller注解,这个注解的标识,表示在本包若在springmvc扫描加载的目录下,那么编译器就将创建一个这个类的对象,放在IOC容器中。
@RequestMapping注解是区别请求的,其中的参数有value表示请求路径,若@RequestMapping(“/地址”)只有一个响应地址参数,那么就默认为value的值,但是如果想写其他参数属性就需要加value=“”
method 表示请求类型,有GET POST PUT DELETE(后两个用的不多)
下面的函数基本以ModelAndView为返回值,同时也可以使用String作为返回值。
其中使用ModelAndView 需要使用setViewName()来设置响应的视图地址。可使用add Object等方法将数据参数放到ModelAndView 中,之后在视图解析的时候就将,放入的数据(Model数据)添加到视图中,解析成视图。需要提的一点是,ModelAndView底层是执行的转发,使用他无法实现重定向。
使用String的方式在其底层也是转化成ModelAndView然后进行解析的,可是其可以实现重定性。使用 “redirect:/跳转地址” 实现重定向,当然默认情况下,也就是使用“/跳转地址”的情况就是使用“forward:/跳转地址的方式”。
5、视图编写,注意的事项就是需要将视图写入视图解析器所指定拼接的地址。
对于SpringMVC的学习还远不止这些,之后的内容会更加深远,大家一起努力!同时也欢迎过路大牛指点批评。
SpringMVC简单入门的更多相关文章
- Springmvc 简单入门1
导入jar包 下载路径: 在web.xml里面配置 <servlet> <servlet-name>Springmvc</servlet-name> <!-- ...
- SpringMVC学习笔记之---简单入门
SpringMVC简单入门 (一)什么是MVC设计模式 (1)model:模型数据,业务逻辑 (3)view:呈现模型,与用户进行交互 (3)controller:负责接收并处理请求,响应客户端 (二 ...
- SpringMVC简单使用教程
一.SpringMVC简单入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--conf ...
- Springmvc整合tiles框架简单入门示例(maven)
Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...
- springmvc(一) springmvc框架原理分析和简单入门程序
springmvc这个框架真的非常简单,感觉比struts2还更简单,好好沉淀下来学习~ --WH 一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解 ...
- SpringMVC学习(一)———— springmvc框架原理分析和简单入门程序
一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交 ...
- springmvc框架原理分析和简单入门程序
一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交 ...
- SpringMVC 快速入门
SpringMVC 快速入门 SpringMVC 简介 SpringMVC是 Spring为展示层提供的基于Web MVC设计模式的请求驱动类型的轻量级Web框架,它的功能和Struts2一样.但比S ...
- springboot 学习之路 1(简单入门)
目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...
随机推荐
- C#监控类属性的更改(大花猫动了哪些小玩具)
C#监控类属性的更改(大花猫动了哪些小玩具) 实体类创建后在方法中对哪些属性赋值了,传递到底层方法时在底层如何得知哪些属性被赋值过.如何监控属性的更改,请看脑洞大开之<大花猫动了哪些小玩具> ...
- Python面向对象编程(四)
1.多态 多态的概念虽然现在才说,但是我们一直在用.多态就是多种形态的意思,动物都猫,狗,猪等等,这些都是动物的多种形态. 反映在Python中,多态就意味着就算不知道变量所引用的对象类型是什么,也能 ...
- PM2源码浅析
PM2工作原理 最近在玩一个游戏,<地平线:黎明时分>,最终Boss是一名叫黑底斯的人,所谓为人,也许不对,黑底斯是一段强大的毁灭进程,破坏了盖娅主进程,从而引发的整个大陆机械兽劣化故事. ...
- VerilogHDL常用的仿真知识
在描述完电路之后,我们需要进行对代码进行验证,主要是进行功能验证.现在验证大多是基于UVM平台写的systemverilog,然而我并不会sv,不过我会使用verilog进行简单的验证,其实也就是所谓 ...
- MySql 事务与锁
事务介绍 首先,什么是事务?事务就是一段sql 语句的批处理,但是这个批处理是一个atom(原子),不可分割,要么都执行,要么回滚(rollback)都不执行. MySQL 事务主要用于处理操作量大, ...
- 29. leetcode 167. Two Sum II - Input array is sorted
167. Two Sum II - Input array is sorted Given an array of integers that is already sorted in ascendi ...
- CocoaPods的一些略为高级一丁点的使用【转】
记得我刚开始做iOS开发的时候,是没有项目依赖管理工具.当需要引入第三方库的时候是相当麻烦的,不是直接拷贝库近来,就是添加依赖工程,直到CocoaPods出来才改变这个状况.项目依赖管理不是Cocoa ...
- Open-Falcon第一步环境准备(小米开源互联网企业级监控系统)
1.环境安装 本文采取rpm安装方式,大家也可以用源码包安装. wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release- ...
- Head First 设计模式 第1章 策略模式
本章从浅入深的讲解了策略模式的使用,以及策略模式中所涉及到的几个设计原则,在本章的最后给出了策略模式的定义. 1.定义及优点 什么是策略模式呢? 答:定义算法族(对象),分别封装起来,让他们之间可以相 ...
- 安徽省2016“京胜杯”程序设计大赛_H_单身晚会
单身晚会 Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 53 Accepted: 16 Description ZJ和Z ...