SpringMVC的简单介绍及使用
一、简介
1、SpringMVC和Spring的关系:
>软件开发的三层架构: web层【表示层、表现层】---->Service层---->Dao[DataBase Access Object]---->数据库!
>SpringMVC实际上是Spring的一个子模块,我们用SpringMVC来代替这个JavaWEB部分!
>MVC:也是一种设计模式:M:Model【模型】-->V[View]--->C[Controller]!
Model用来封装数据的,
View:用来显示数据, Controller:用于接收前端页面发送的请求,然后调用Service层处理,拿到处理结果,将该结果返回给前端页面!
>SpringMVC:相当于MVC架构中的C以及V!
>JavaEE-->J2EE
2、SpringMVC有什么优势?
>Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一。
>Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。
>Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。
>支持 REST 风格的 URL 请求。GET POST PUT DELTE
>采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性.
>目前主流的开发软件,说白了,大家都在用!
3、SpingMVC是基于SpingMVC4.x
二、SpringMVC的HelloWorld快速入门
1、加入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、配置前端控制器【DispatcherServlet】
<!-- The front controller of this Spring Web application, responsible for handling all application requests -->
<!--向服务器注册前端控制器! -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<!--DispatcherServlet指的是SpringMVC的前端控制器!,给服务器使用,创建servlet对象! -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 初始化参数contextConfigLocation用于指定SpringMVC配置文件的路径以及名称 -->
8 <init-param>
9 <param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 数字0或者大于0的数字表示的是:在服务器启动的时候创建Servlet对象,而不是第一次访问的时候创建
小于0的数字指的是:在第一次访问的时候创建Servlet对象.
在数字大于O的情况下,数字越小,优先级越高!
-->
<load-on-startup>1</load-on-startup>
</servlet> <!-- Map all requests to the DispatcherServlet for handling -->
<!-- 用 servlet-mapping指定请求映射的路径-->
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<!-- 用url-pattern指定拦截 的请求路径! -->
<url-pattern>/</url-pattern>
</servlet-mapping>
3、创建SpringMVC的配置文件并添加要扫描的包
注意:1.创建SpringMVC配置文件的名字要和上面在web.xml文件中指定的名字一致!
2.我们创建SpringMVC配置文件的时候使用的是Spring Bean Configuration File创建的,不是XML!
<!-- 配置SpingMVC容器要扫描的包! -->
<context:component-scan base-package="com.neuedu.controller"></context:component-scan>
4、在springMVC扫描的包下创建控制器类[Controller/Handler],注意要加入@Controller注解
/**
* 我们通过@RequestMapping做请求URL的映射!
* @return
*/
@RequestMapping("/sayHello")
public String sayHello(){
return "/WEB-INF/views/success.jsp";
}
注意:在类的方法上我们使用的是@RequestMapping,然后在括号里指定请求url的请求路径!
5、创建页面!
注意:1.当我们不用init-param指定springMVC配置文件的路径好位置的时候,SpringMVC默认会去/WEB-INF/<servlet-name>-servlet.xml
一般手动配置为类路径下(src路径下):classpath:springmvc.xml,
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
2.配置视图解析器
<!--InternalResourceViewResolvers 是视图解析器 ,它会将逻辑视图转换成实际的物理视图,做一个转发操作!
也就是说具体步骤:prefix + 方法的返回值 + suffix-->
<!-- /WEB-INF/views/success.jsp -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
3.请求一个SpringMVC的流程!
SpringMVC的简单介绍及使用的更多相关文章
- SpringMvc的简单介绍
1.mcv框架要做哪些事情 (a)将url映射到java类或者Java类的方法 (b)封装用户提交的数据 (c)处理请求---调用相关的业务处理,封装响应的数据 (d)将封装的数据进行渲染,jsp,h ...
- springmvc的简单介绍以及springmvc组件的介绍
Spring web mvc框架 什么是springmvc Springmvc是spring框架的一个模块,spring和springmvc无需中间整合层整合 Springmvc是一个基于mvc的we ...
- springMVC原理简单介绍
说明: 用户发送请求到DispatcherServlet,即前端控制器 DipatcherServlet调用处理器映射器HandlerMapping解析 处理器映射器HandlerMapping根据请 ...
- SpringMVC总结二:Controller的请求映射方式(RequestMapping)简单介绍
在SpringMVC总结一:快速入门的基础上简单介绍一下请求映射的方式: 1,标准映射规则 1. @RequestMapping可以设置在类上,也可以设置在方法上 2. 请求的映射规则是:类上的Req ...
- Freemarker概念简单介绍
Freemarker概念简单介绍 1. Freemarker是什么 模板引擎:一种基于模板的,用来生成输出文本的通过工具. 基于java开发包和类库 2. Freemarker能做什么 MVC ...
- JMS学习篇《一》ActiveMQ消息中间件的简单介绍与用法-概念篇
原创说明:本篇博文为本人原创作品,转载请注明出处 1.何为消息中间件 消息中间件是一种在分布式应用中互相交换信息的一种技术,常见的成熟消息中间件有:RabbitMQ.SonicMQ,activeMQ. ...
- 简单介绍Struts2
Struts2概述 Struts2虽然是Struts1的基础上发展起来的,但是实质上是以WebWork框架为核心,为传统的Struts1注入了WebWork的设计理念,统一了Struts1和WebWo ...
- SpringMVC之简单的增删改查示例(SSM整合)
本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...
- 转载 mvc:message-converters简单介绍 https://www.cnblogs.com/liaojie970/p/7736098.html
mvc:message-converters简单介绍 说说@ResponseBody注解,很明显这个注解就是将方法的返回值作为reponse的body部分.我们进一步分析下这个过程涉及到的内容,首先就 ...
随机推荐
- ASP.NET Core应用到Windows Service中
托管到Windows Service中 众所周知,ASP.NET Core采用了和传统ASP.NET不同的托管和HTTP处理方式,即把服务器和托管环境完全解耦. ASP.NET Core内置了两个HT ...
- 23-从零玩转JavaWeb-单例设计模式
一.什么是设计模式 二.什么是单例设计模式 三.单例设计模式特点 四.单例设计模式优点 五.单例设计模式实现步骤 六.什么是工具类
- Eclipse oxygen安装中文包
help->install new software Eclipse software repository http://download.eclipse.org/technology/ba ...
- CasperJs 入门介绍
CasperJs 是一个基于 PhantomJs 的工具,其比起 PhantomJs 可以更加方便的进行 navigation. 1.安装 CasperJS 依赖于 PhantomJS >= 1 ...
- 【HDU4970】Killing Monsters
题意 数轴上有n个点,有m座炮塔,每个炮塔有一个攻击范围和伤害,有k个怪物,给出他们的初始位置和血量,问最后有多少怪物能活着到达n点.n<=100000 分析 对于某个怪物,什么情况下它可以活着 ...
- linux下rsync命令详细整理
点评:rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一详细说明,需要了解的朋友可以参考下-在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命 ...
- Jquery中extend使用技巧
在使用Jquery开发的过程中,extend是常用的参数处理函数,特别是对默认值的使用. Jquery的扩展方法原型是: var v=$.extend(dest,src1,src2,[,src3... ...
- 238. Product of Array Except Self 由非己元素形成的数组
[抄题]: Given an array of n integers where n > 1, nums, return an array output such that output[i] ...
- 557. Reverse Words in a String III 翻转句子中的每一个单词
[抄题]: Given a string, you need to reverse the order of characters in each word within a sentence whi ...
- 启动dhcp出错:No subnet declaration for eth0 (192.168.0.1
XUbuntu 8.04 i386.装了dhcp3-server.使用 sudo /etc/init.d/dhcp3-server start 出错:Apr 30 14:24:03 s dhcpd: ...