SpringMVC——hello,springmvc程序
文章目录
步骤
准备工作
1.新建一个maven的module但是不要选web.app因为会web的版本不同
2.右键module进行进行添加webapp
3.导入依赖
<!--导入依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
正题
1.在web.xml中配置DispatcherServlet对象
<!-- 配置DispatcherServlet-->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet</param-value>
</init-param>
<!--设置启动级别-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--
/:只对执行请求
/*:请求jsp文件和所在的请求->写错会导致死循环,因为当你请求后转发给jsp然后jsp又再次需要通过controller进行请求
-->
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这个DispatcherServlet是用于调度分配Servlet的,设置初始化参数contextConfigLocation ,classpath类的路径填写你的xml配置文件(名字应该和servlet名字有关联)
2.在resource中新建一个名字为 springmvc -servlet的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--配置映射处理器-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!--配置适配处理器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!--添加视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!--将新建的类的对象交给ioc-->
<bean class="com.underdog.controller.HelloController" id="/hello"></bean>
</beans>
分别 添加3个配置器(映射器、适配器、视图解析器)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LwzQcPAQ-1614760629091)(…/…/AppData/Roaming/Typora/typora-user-images/image-20210303155825248.png)]
3.创建类
public class HelloController implements Controller {
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
ModelAndView mv = new ModelAndView();
//业务代码
mv.addObject("msg","hello,springmvc");
//视图跳转
mv.setViewName("test");
return mv;
}
}
创建一个类,并实现conteoller这个类,
方法
:
·addObject(): 填写的是一个键值对
setViewName(),是视图转发到test.jsp的那个文件,与上面填写的视图解析器的前缀后缀共同写成/WEB-INF/jsp/test.jsp.
4.在类中xml中配置对象bean
配置bean通过url的值为/hello找到当前类,然后进入当前类进行视图的转发。
总结
总结一下流程
1
.在xml中配置DispatchServlet然后进行跳转到xml当中
2
.在xml中配置三个解析器
3
.创建一个实现Controller的类,这个类是与service进行交互的。
前面的流程基本是固定的,我们只需要对创建的类进行操作就可以了。这种方法其实开发的时候一般都不会去这样去写,只是为了更好的理解Springmvc的原理。