目录
前言:
网页存放的位置:
编辑
所需要的依赖:
spring.xml的配置:
spring.xml的详细讲解:
web.xml的配置:
web.xml的详细讲解:
访问网页的方式:
前言:
本篇博客是记录如何配置mvc,所需要的工具是ideal。会详细介绍spring.xml,web.xml配置中的内容。老规矩,我会先把完整的配置代码放上去,在进行讲解,不想看的直接用,想看的跟着学。。
网页存放的位置:
在webapp的WEB-INF下面,在WEB-INF下面的文件更加的安全,但是不能单纯的在浏览器输入url来访问了。所以需要新的访问方式
所需要的依赖:
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
spring.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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--包的扫描-->
<context:component-scan base-package="com.blb.mvc"></context:component-scan>
<!--配置视图解析器 index ===> /WEB-INF/pages/index.jsp -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--配置前缀 存放页面目录的相对路径-->
<property name="prefix" value="/WEB-INF/pages/"></property>
<!--配置后缀名-->
<property name="suffix" value=".jsp"></property>
</bean>
<!--配置静态资源的处理器-->
<mvc:default-servlet-handler></mvc:default-servlet-handler>
<!--配置转换器-->
<bean id="myConversionSerivce" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean id="studentConverter" class="com.blb.mvc.converter.StudentConverter"></bean>
</list>
</property>
</bean>
<!--配置注解驱动-->
<mvc:annotation-driven conversion-service="myConversionSerivce"></mvc:annotation-driven>
</beans>
spring.xml的详细讲解:
<!--扫描包-->用于扫描comdmdd.mvc下的所有配置了注解的类,将这些类转换为bean存入xml中。 <context:component-scan base-package="com.dmdd.mvc"></context:component-scan><!--视图解析器 帮助查找视图文件的位置 index 转换为 /WEB-INF/pages/index.jsp --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--配置视图的前缀--> <property name="prefix" value="/WEB-INF/pages/"></property> <!--配置视图的后缀--> <property name="suffix" value=".jsp"></property> </bean>
我们通过如下形式来访问网页。
//配置请求的URL路径/index,请求方法是GET @RequestMapping(value = "/index", method = RequestMethod.GET) public ModelAndView toIndex() { //视图解析器 : index --> /WEB-INF/page/index.jsp return new ModelAndView("index"); }
我们只需要在网页中输入注解的value,就会在底层通过一系列复杂的操作调用视图解析器。
作用就是将value拼接成 /WEB-INF/pages/index.jsp
<!--配置静态资源的处理器-->html css 页面的样式这些静态资源只有配置了这个才不会拦截 <mvc:default-servlet-handler></mvc:default-servlet-handler>
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>Archetype Created Web Application</display-name>
<!--配置前端控制器-->
<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:spring.xml</param-value>
</init-param>
<!--配置启动顺序 负数或不配置表示当servlet第一次被访问时创建 0或正数表示服务器启动后自动创建 值越小越早启动-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--控制器映射 /代表处理所有请求-->
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--编码过滤器-->
<filter>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
web.xml的详细讲解:
<!--配置前端控制器-->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!--配置文件的位置-->读取spring.xml的信息
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</init-param>
<!--配置启动顺序 负数或不配置表示当servlet第一次被访问时创建 0或正数表示服务器启动后自动创建 值越小越早启动-->
<load-on-startup>1</load-on-startup>
</servlet><!--控制器映射 /代表处理所有请求-->通过mapping找到当前xml的<servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
访问网页的方式:
//配置请求的URL路径/index,请求方法是GET
@RequestMapping(value = "/index", method = RequestMethod.GET)
public ModelAndView toIndex() {
//视图解析器 : index --> /WEB-INF/page/index.jsp
return new ModelAndView("index");
}