需要课程资料,解答,帮助的小伙伴可查看主页介绍哦!
基于XML配置的SpringMVC是一种传统的Spring MVC框架配置方式,它使用XML文件来定义和配置Spring MVC的各个组件。以下是一个基于XML配置的SpringMVC的基本步骤和示例:
基本步骤
-
引入必要的依赖:
在你的项目中引入Spring MVC和Spring核心库以及其他必要的依赖(如Servlet API、JSP等)。 -
配置web.xml:
在web.xml
文件中配置Spring MVC的DispatcherServlet
,这是Spring MVC的前端控制器。 -
配置Spring MVC的XML文件:
创建一个或多个XML文件来配置Spring MVC的组件,如处理器(Controller)、视图解析器(ViewResolver)、消息转换器(MessageConverter)等。 -
创建处理器(Controller):
编写处理请求的Java类,并使用@Controller
(尽管在XML配置中不是必需的,但通常还是会用到这个注解来标识控制器)或其他Spring注解来标记。 -
配置视图解析器:
在Spring MVC的XML配置文件中配置视图解析器,以便将控制器返回的视图名称解析为实际的视图资源(如JSP文件)。 -
创建视图:
根据视图解析器的配置,创建相应的视图资源(如JSP文件)。
示例
以下是一个简单的基于XML配置的SpringMVC示例:
1. 引入依赖(Maven为例)
xml复制代码
<dependencies> | |
<!-- Spring MVC --> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-webmvc</artifactId> | |
<version>你的Spring版本</version> | |
</dependency> | |
<!-- Servlet API --> | |
<dependency> | |
<groupId>javax.servlet</groupId> | |
<artifactId>javax.servlet-api</artifactId> | |
<version>你的Servlet API版本</version> | |
<scope>provided</scope> | |
</dependency> | |
<!-- JSP API --> | |
<dependency> | |
<groupId>javax.servlet.jsp</groupId> | |
<artifactId>javax.servlet.jsp-api</artifactId> | |
<version>你的JSP API版本</version> | |
<scope>provided</scope> | |
</dependency> | |
<!-- 其他依赖 --> | |
</dependencies> |
2. 配置web.xml
xml复制代码
<web-app> | |
<servlet> | |
<servlet-name>dispatcher</servlet-name> | |
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> | |
<load-on-startup>1</load-on-startup> | |
<init-param> | |
<param-name>contextConfigLocation</param-name> | |
<param-value>/WEB-INF/spring-mvc-config.xml</param-value> | |
</init-param> | |
</servlet> | |
<servlet-mapping> | |
<servlet-name>dispatcher</servlet-name> | |
<url-pattern>/</url-pattern> | |
</servlet-mapping> | |
</web-app> |
3. 配置Spring MVC的XML文件(spring-mvc-config.xml)
xml复制代码
<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"> | |
<!-- 启用注解驱动 --> | |
<mvc:annotation-driven /> | |
<!-- 扫描控制器 --> | |
<context:component-scan base-package="你的包名.controller" /> | |
<!-- 配置视图解析器 --> | |
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> | |
<property name="prefix" value="/WEB-INF/views/" /> | |
<property name="suffix" value=".jsp" /> | |
</bean> | |
</beans> |
4. 创建处理器(Controller)
java复制代码
package 你的包名.controller; | |
import org.springframework.stereotype.Controller; | |
import org.springframework.web.bind.annotation.GetMapping; | |
import org.springframework.web.servlet.ModelAndView; | |
@Controller | |
public class HelloController { | |
@GetMapping("/hello") | |
public ModelAndView hello() { | |
ModelAndView modelAndView = new ModelAndView("hello"); | |
modelAndView.addObject("message", "Hello, Spring MVC!"); | |
return modelAndView; | |
} | |
} |
5. 创建视图(hello.jsp)
jsp复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %> | |
<html> | |
<head> | |
<title>Hello Page</title> | |
</head> | |
<body> | |
<h1>${message}</h1> | |
</body> | |
</html> |