刚学习了spring框架开发,在这里记录一下学习的过程。方便自己以后查看吧,下面都是完整的代码:
先来看一下代码的运行结果:
首先,我们先新建了一个Java工程,这里我们建的是Dynamic Web Project工程,在file–new–Dynamic Web Project,如果没有找到的话,就点击other,在弹出框中找到Dynamic Web Project工程,如下图:
点击next,输入项目名,然后再点击next:
勾选上web.xml配置文件:
到现在我们就可以开始一个项目了:
再开始之前,我们先来看一个springMVC执行的原理:
客户端发出请求,交给DispatcherServlet处理
DispatcherServlet根据请求信息及HandlerMapping的配置找到处理请求的处理器(Handler)
DispatcherServlet通过HandlerAdapter对Handler进行封装,再以统一的适配器接口调用Handler
处理器完成业务逻辑,返回一个ModelAndVIew给DispatcherServlet,ModelAndView包含视图逻辑名和模型数据信息
DispatcherServlet借由ViewResolver完成逻辑视图名到真实视图的解析工作
得到View真实视图后,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行渲染
最终客户得到响应
接下来首先看项目的目录结构:
我们进行配置:
DispatcherServlet继承自HttpServlet,是整个SpringMVC中的前端控制器,主要负责流程控制。DispatcherServlet使用了专有的Bean来处理请求和渲染视图,可以在WebApplicationContext中进行配置:
既在我们的web.xml中进行我们的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>spring_mvc</display-name>
<welcome-file-list>
<welcome-file>piano.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<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/spring-mvc.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>
</web-app>
然后配置我们的spring-mvc.xml文件:
在WEB-INF目录下新建文件:spring-mvc.xml,用的是注解扫描的方法,其中<mvc:annotation-driven/>
不能丢,我就是因为丢了这行代码,改了两个小时的错…
主要配置是:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/contex