1.1 SpringMVC的介绍
它是一款基于Spring框架、servlet、jsp的集成框架,可以应用于快速创建web项目。
1.2 HTTP学习
HTTP的个人理解,根据书籍对http的简介,我们可以知道http是由w3c组织维护的产品,而是一个产品就必须有服务端,
所以我们可以认为它是一个共享的服务端,它负责游览器与我们的服务器建立连接,这个就是http的好处。而实质上,客户端
并不会直接与我们服务器进行连接,这就更加说明,http是一个共享的应用中间件,跑在w3c的服务器上
并且我们知道http连接只有客户端发出请求,服务端响应这种单向通信。另外在2011年,WebSokect协议支持http升级成
WebSokect协议,这就说明http在2011年开始支持双向通信。
1.3 servlet的深入理解
servlet是一个java程序,也可以认为是sun公司推出的简单web框架,我们知道,java程序一定得有main函数,而为什么我们
在编写servlet类的时候并不需要写main方法,这是因为servlet是跑在tomcat应用服务容器中的,而我们在配置tomcat的时候
需要配置jdk,servlet编写完成后,我们点击运行时候,我们的IDE集成开发环境会将所有的servlet源码编译成class文件放在
web-inf下的子文件夹classes下,tomcat通过web.xml去查找class文件并且把class文件运行在配置好的jdk运行环境中,然后
自动化的编写main方法然后调用servlet的init方法、doGet和doPost方法以及销毁方法。这样就完成了一次客户端与服务端的
请求响应流程。
web-inf下的资源文件,只能是servlet访问,用户是不能直接通过url访问的
1.4 springMVC的使用
两种导入方式
第一种:创建MAVEN项目,在pom.xml配置springMVC的包
第二种:手动下载springMVC的jar包
commons-logging-1.1.2.jar
spring-context-3.2.2.REALEASE.jar
spring-core-3.2.2.REALEASE.jar
spring-expression-3.2.2.REALEASE.jar
spring-web-3.2.2.REALEASE.jar
spring-webmvc-3.2.2.REALEASE.jar
导入完成之后,我们需要在web.xml里面配置DispatcherServlet类
配置内容
springMVC
org.springframework.web.servlet.DispatcherServlet
springMVC
/
SpringMVC配置文件放置问题
如果web.xml里面没有配置SpringMVC的配置文件位置,默认为web-inf下的[servlet-name]-servlet.xml
例如上面配置文件为SpringMVC,那么在web-inf下就必须有一个SpringMVC-servlet.xml的配置文件
这个类详细理解
游览器发送请求,第一步拦截就被这个类拦截,这个类是核心servlet,会根据url分析发送到我们写的控制器
使用注解开发,这里说明一下为什么使用注解开发,而非配置,第一,效率更高,第二,维护容易。
常用注解:
第一个注解
@RequestMapping
可作用在类和方法上
作用在类上,表明这个类为请求类
然后在方法上加上RequstMapping
所以请求localhost:8080/projectName/user/login.do
例如
@Controller
@RequestMapping("/user")
public class UserController{
@RequestMapping("/login.do")
public String login(){
....
}
}
第二个注解
@RequestBody
作用在方法上,这个注解可以将返回值包装成JSON对象返回给前端