SpringBoot学习笔记7 - SpringBoot中使用jsp

本文详细介绍了如何在SpringBoot项目中配置并使用JSP,包括创建web资源目录、编写JSP文件、配置物理视图解析、编写Controller以及指定视图解析的前后缀。通过这些步骤,成功实现JSP页面的展示与交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建web资源目录


  • 创建war工程
    方法同创建jar工程,只是在选择Packaging类型时选择war:

    在这里插入图片描述

  • 在main下创建webapp目录

    在这里插入图片描述

  • 将webapp设置为资源目录

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2、编写JSP文件


  • 在webapp下创建index.jsp

    在这里插入图片描述

  • 编写JSP内容

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <meta charset="UTF-8" />
        <title>Title</title>
    </head>
    <body>
        <form action="" method="post"> <!-- action 内容暂时为空 -->
            姓名:<input type="text" name="name" /> <br/>
            年龄:<input type="text" name="age" /> <br/>
            <input type="submit" value="注册" />
        </form>
    </body>
    </html>
    
  • 运行程序,查看结果
    此时启动程序并运行时发现,并不能成功访问该jsp页面:

    在这里插入图片描述

3、使用物理视图


  • 注册资源目录

    <!-- pom.xml -->
    <build>
    	...
    	<resources>
    		<!-- 指定webapp目录为资源目录 -->
    		<resource>
    			<directory>src/main/webapp</directory>
    			<targetPath>META-INF/resources</targetPath>
    			<includes>
    				<include>**/*.*</include>
    			</includes>
    		</resource>
    	</resources>
    </build>
    
  • 添加 jasper 依赖
    在pom.xml文件中添加一个Tomcat内嵌的jsp引擎:jasper依赖。jasper用于将jsp文件解析为Servlet。
    若不添加jasper,浏览器无法解析jsp文件,当访问启动的项目时,会直接下载该jsp文件。

    <!-- pom.xml -->
    <dependencies>
    	...
    	<dependency>
    		<groupId>org.apache.tomcat.embed</groupId>
    		<artifactId>tomcat-embed-jasper</artifactId>
    	</dependency>
    </dependencies>
    
  • 运行程序,查看结果

    在这里插入图片描述

4、编写Controller类并测试


  • 创建表单对象

    在这里插入图片描述

    @Data
    public class Teacher {
        private String name;
        private int age;
    }
    
  • 创建Controller类

    在这里插入图片描述

    @Controller
    @RequestMapping("/registry")
    public class RegistryController {
        @PostMapping("/register")
        public String register(Teacher teacher, Model model) {
            model.addAttribute("teacher", teacher);
            return "/jsp/welcome.jsp";
        }
    }
    
  • webapp下创建jsp/welcome.jsp界面

    在这里插入图片描述

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>welcome</title>
    </head>
    <body>
        欢迎新教师:teacher = ${teacher}
    </body>
    </html>
    
  • 补充index.jsp页面表单中的action

    ...
    <body>
    	...
        <form action="registry/register" method="post">
            ...
        </form>
    </body>
    
  • 运行程序,查看结果

    在这里插入图片描述

5、指定前后缀


  • 在application.yml文件中配置前后缀

    spring:
      mvc:
        view:
          prefix: /
          suffix: .jsp
    
  • 修改Controller类

    @Controller
    @RequestMapping("/registry")
    public class RegistryController {
        @PostMapping("/register")
        public String register(Teacher teacher, Model model) {
            model.addAttribute("teacher", teacher);
            return "jsp/welcome";
        }
    }
    
  • 运行程序,查看结果

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值