SpringMvc入门项目搭建-XML配置方式
文章目录
1.认识springMVC框架
MVC是一种设计思想,将一个应用分成3个基本部分,分别代表着Web应用程序中的3种职责
Model(模型):用于存储数据和完成业务逻辑处理
View(视图):用于显示数据和向控制器提交数据请求
Controller(控制器):根据视图请求调用Model完成业务处理,将处理后的结果交由View进行展示
1.1MVC框架
基于Servlet的MVC模式实现
Model(模型):一个或多个JavaBean对象(数据访问对象和业务逻辑对象)
View(视图):一个或多个JSP页面,用于展示数据和提交表单请求
Controller(控制器):一个或多个Servlet对象,接收视图请求并交由Model处理,将处理结果输出给View显示
案例1:项目“mvc_demo”中,使用基于Servlet的MVC模式实现了用户登录功能,分析代码,说明其工作原理
2.整体步骤:
1.创建Web工程和
tomact
2.引入依赖(pom.xml)
3.配置文件(web.xml和spring-mvc.xml)
4.设计Controller、View和Model
3.详细步骤截图
3.1 创建一个Web工程和Tomcat
3.2引入依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.9</version> <!-- 版本号根据实际情况进行调整 -->
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version> <!-- 版本号根据实际情况进行调整 -->
<scope>provided</scope>
</dependency>
3.3配置文件
在web.xml中配置“DispatcherServlet”(接收所有用户请求,并将其分派给相应的Controller来处理)和过滤器(用于将请求和响应进行编码,以免中文乱码)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!-- 加载类路径下的spring-mvc.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 配置DispatcherServlet接受所有URL请求 -->
<servlet-mapping>
<servlet-name>springmvc</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
创建Spring MVC的配置文件“spring-mvc.xml”,在“resources”下创建配置文件“spring-mvc.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
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 将控制器扫描到容器中 -->
<context:component-scan base-package="com.SpringMvc.controller"/>
<!-- 开启SpringMVC框架的注解驱动 -->
<mvc:annotation-driven/>
</beans>
4.设计View
5.设计Model
5.1创建控制器Controller
在“src”下新建包“com.SpringMvc.controller”(controller前也可以写其他,但在配置spring-web.xml中扫描包的路径需要更改),包下新建控制器类“HelloController”
5.2编写HelloController内容
package com.SpringMvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
//通过"/hello"来访问hello.jsp页面
@RequestMapping("/hello")
public String hello(){
return "WEB-INF/views/HelloSpringMvc.jsp";
}
}
6.测试
ps:如果觉得5.2中return ‘’ WEB-INF/views/xxx“写的太多,可以配置视图解析器,就可以简单很多
<!-- 视图解析器配置-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
如果对注解感兴趣的可以去 SpringMVC入门项目搭建-注解篇-CSDN博客