jsp 语言 JSP 与 Spring MVC 框架整合

JSP阿木 发布于 2025-07-02 7 次阅读


JSP 与 Spring MVC 框架整合技术详解

JavaServer Pages(JSP)是一种动态网页技术,它允许开发者使用Java代码来创建动态网页。Spring MVC 是一个流行的Java Web框架,用于构建企业级应用程序。将 JSP 与 Spring MVC 框架整合,可以充分利用两者的优势,实现高效的Web应用程序开发。本文将详细介绍 JSP 与 Spring MVC 框架的整合过程,包括环境搭建、配置文件、控制器、视图和模型等关键技术。

环境搭建

1. 系统要求

- 操作系统:Windows/Linux/MacOS

- JDK版本:1.8及以上

- 开发工具:Eclipse/IntelliJ IDEA

- Web服务器:Tomcat 9.0及以上

2. 安装与配置

1. 下载并安装 JDK,配置环境变量。

2. 下载并安装 Tomcat,配置环境变量。

3. 下载并安装开发工具(Eclipse/IntelliJ IDEA)。

4. 创建 Web 项目,并添加以下依赖:

xml

<dependencies>


<!-- JSP 标准库 -->


<dependency>


<groupId>javax.servlet.jsp</groupId>


<artifactId>javax.servlet.jsp-api</artifactId>


<version>2.3.3</version>


<scope>provided</scope>


</dependency>


<!-- JSTL 标准库 -->


<dependency>


<groupId>javax.servlet</groupId>


<artifactId>jstl</artifactId>


<version>1.2</version>


</dependency>


<!-- Spring MVC 核心库 -->


<dependency>


<groupId>org.springframework</groupId>


<artifactId>spring-webmvc</artifactId>


<version>5.3.10</version>


</dependency>


</dependencies>


配置文件

1. web.xml

在 Web 项目的 `WEB-INF` 目录下创建 `web.xml` 文件,配置 Spring MVC 的前端控制器。

xml

<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_3_1.xsd"


version="3.1">

<servlet>


<servlet-name>springDispatcherServlet</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>


<load-on-startup>1</load-on-startup>


</servlet>

<servlet-mapping>


<servlet-name>springDispatcherServlet</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>


2. spring.xml

在 `src` 目录下创建 `spring.xml` 文件,配置 Spring MVC 的相关组件。

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">

<!-- 扫描组件 -->


<context:component-scan base-package="com.example.controller"/>

<!-- 配置视图解析器 -->


<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">


<property name="prefix" value="/WEB-INF/jsp/"/>


<property name="suffix" value=".jsp"/>


</bean>

<!-- 开启注解驱动 -->


<mvc:annotation-driven/>


</beans>


控制器

控制器(Controller)负责接收用户的请求,并处理业务逻辑。在 Spring MVC 中,控制器通常使用注解 `@Controller` 来标识。

java

package com.example.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();


modelAndView.addObject("message", "Hello, Spring MVC!");


modelAndView.setViewName("hello");


return modelAndView;


}


}


视图

视图(View)负责将数据展示给用户。在 Spring MVC 中,视图可以使用 JSP、Thymeleaf、Freemarker 等技术实现。

jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


<html>


<head>


<title>Hello, Spring MVC!</title>


</head>


<body>


<h1>${message}</h1>


</body>


</html>


模型

模型(Model)负责传递数据给视图。在 Spring MVC 中,模型可以使用 `ModelAndView`、`Map`、`Model` 等方式传递数据。

java

package com.example.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();


modelAndView.addObject("message", "Hello, Spring MVC!");


modelAndView.setViewName("hello");


return modelAndView;


}


}


总结

本文详细介绍了 JSP 与 Spring MVC 框架的整合过程,包括环境搭建、配置文件、控制器、视图和模型等关键技术。通过整合 JSP 和 Spring MVC,可以充分发挥两者的优势,实现高效的 Web 应用程序开发。在实际项目中,可以根据需求选择合适的整合方式,以达到最佳的开发效果。

扩展阅读

- 《Spring MVC 实战》

- 《Java Web开发实战》

- 《JSP 标准教程》

希望本文对您有所帮助,祝您在 Web 应用程序开发中取得成功!