SpringBoot项目中使用Jsp的正确方法

yizhihongxing

以下是SpringBoot项目中使用Jsp的正确方法的完整攻略:

1. 添加Jsp依赖

在SpringBoot项目的pom.xml文件中添加jsp相关依赖

<dependency> 
    <groupId>org.apache.tomcat.embed</groupId> 
    <artifactId>tomcat-embed-jasper</artifactId> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
</dependency>

2. 配置viewResolver

在SpringBoot项目的application.properties文件中添加以下配置

spring.mvc.view.prefix=/WEB-INF/views/ 
spring.mvc.view.suffix=.jsp

其中spring.mvc.view.prefix指定Jsp文件所在的文件夹,spring.mvc.view.suffix指定Jsp文件的后缀名。

3. 创建Jsp文件

在指定的Jsp文件夹下创建jsp文件,例如在/WEB-INF/views/下创建index.jsp文件。

4. 创建Controller

创建Controller类来渲染Jsp页面,示例代码如下:

@Controller 
public class HomeController { 
    @RequestMapping("/") 
    public String home(Model model) { 
        model.addAttribute("message", "Hello World"); 
        return "index"; 
    } 
}

在这个示例中,我们创建了一个Controller类HomeController,并创建了一个路由方法/home,返回了Jsp页面的文件名index。在这个方法里面,我们向模型(Model)对象中添加了一个属性和属性值,并将模型返回到视图解析器进行渲染。

5. 运行项目

在浏览器中访问http://localhost:8080/,就可以看到渲染后的index.jsp页面了。

另外,以下是两个使用Jsp的示例:

示例一:使用Jsp返回一个HTML页面

1. 创建页面

在/WEB-INF/views/下创建一个名为'mypage.jsp'的文件,内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>My Page</title> 
</head> 
<body> 
    <h1>Hello World!</h1> 
</body> 
</html>

2. 创建Controller

创建一个Controller类,代码如下:

@Controller 
public class MyController { 
  @RequestMapping("/") 
  public String showPage() { 
    return "mypage"; 
  } 
}

3. 运行项目

在浏览器中输入http://localhost:8080/,就可以看到渲染后的'mypage.jsp'页面了。

示例二:使用Jsp读取数据库中的数据

1. 创建页面

在/WEB-INF/views/下创建一个名为'user.jsp'的文件,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>User Page</title> 
</head> 
<body> 
    <table> 
        <tr> 
            <th>Id</th> 
            <th>Name</th> 
            <th>Age</th> 
        </tr> 
        <c:forEach var="user" items="${users}"> 
            <tr> 
                <td>${user.id}</td> 
                <td>${user.name}</td> 
                <td>${user.age}</td> 
            </tr> 
        </c:forEach> 
    </table> 
</body> 
</html>

2. 创建Model和DAO

创建User Model和UserDAO类,代码如下:

@Entity 
public class User { 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id; 
    private String name; 
    private Integer age; 
} 

@Repository 
public interface UserRepository extends JpaRepository<User, Long> {} 

3. 创建Controller

创建Controller类,代码如下:

@Controller 
public class UserController { 
    @Autowired 
    private UserRepository userRepository; 

    @RequestMapping("/users") 
    public String users(Model model) { 
        model.addAttribute("users", userRepository.findAll()); 
        return "user"; 
    } 
}

4. 运行项目

在浏览器中输入http://localhost:8080/users,就可以看到读取数据库中所有用户的数据并渲染到'user.jsp'页面中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目中使用Jsp的正确方法 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java实现登录和注册案例

    下面我将为您详细讲解Java实现登录和注册案例的完整攻略。我们分为以下几个步骤进行讲解: 搭建开发环境 创建用户实体类 创建用户数据访问对象(DAO) 创建用户服务(Service) 创建控制器(Controller) 配置数据库连接 创建用户表 实现注册功能 实现登录功能 接下来,我将为您详细讲解每一步的具体操作流程。 每个开发者需要有一台配有Java开发…

    Java 2023年5月19日
    00
  • Java新手教程之ArrayList的基本使用

    Java新手教程之ArrayList的基本使用 简介 ArrayList是Java集合类中的一种,可以动态地增加或减少容器中的元素。它是数组的一种替代方案,提供了更加灵活和方便的集合管理方式。 用法 ArrayList可以存储任意类型的对象,包括基本数据类型和自定义对象。下面是一些ArrayList的基本用法。 创建一个ArrayList ArrayList…

    Java 2023年5月26日
    00
  • 【Jmeter】按比例分配Api压测

    先看 【Jmeter】基础介绍-详细 【Jmeter】Request1输出作为Request2输入-后置处理器 继续聊提出的第二个问题,即   2.需要按比例分配API请求并发,以模拟真实的API压力场景 做压测的时候,一般的需求都是多个API同时压,不然也看不出真正的tps是多少啊。 比如虽然接口a的需求并发不高,500个用户才请求一次,但是特别耗性能,导…

    Java 2023年4月25日
    00
  • Java 跳出递归循环问题解决办法

    Java 跳出递归循环问题通常出现在递归函数内部的某一个条件不满足时,需要跳出递归循环。 常见的解决办法有以下几种: 使用非递归实现 将递归函数转换成非递归的形式,使用栈或队列进行迭代实现。这样的好处是可以在循环中使用break或return语句来跳出循环。 示例1:阶乘的非递归实现 public static long factorial(int n) {…

    Java 2023年5月25日
    00
  • java实现简单单链表

    Java实现简单单链表的完整攻略 什么是单链表 单链表是一种常见的数据结构,基于节点和指针实现,通过指针将多个节点连接在一起,每个节点包含当前节点的数据和下一个节点的指针,最后一个节点的指针为 null。 实现单链表的关键代码 单链表的核心是节点和节点之间的指针,所以我们需要先定义一个节点类(Node),包含节点元素(val)和指向下一个节点的指针(next…

    Java 2023年5月18日
    00
  • Java切割字符串的踩坑实战记录

    下面是“Java切割字符串的踩坑实战记录”的完整攻略。 1. 问题背景 在Java的字符串处理中,切割字符串(即从原字符串中提取一部分作为新的字符串)是很常见的操作。常用的切割字符串的方法包括split()、substring()和StringTokenizer等。然而,在实际开发过程中,我们常常会遇到一些踩坑情况,导致程序出现异常,或者得到错误的结果。 本…

    Java 2023年5月27日
    00
  • Javaweb resin4如何配置端口虚拟目录

    下面是关于Javaweb Resin4如何配置端口虚拟目录的攻略。 1. 端口配置 1.1 修改 Resin 配置文件 首先需要打开Resin的配置文件resin.xml。可以在该文件中找到以下代码段: <cluster id="app"> <host id="app0"> <web-ap…

    Java 2023年6月15日
    00
  • MySQL数据库 JDBC 编程(Java 连接 MySQL)

    MySQL数据库 JDBC 编程(Java 连接 MySQL)攻略 1. 准备工作 在进行 MySQL JDBC 编程前,我们需要完成以下准备工作: 1.1 安装 MySQL 数据库 MySQL 数据库官网提供了各个平台下的安装包,我们可以根据自己的操作系统下载并安装 MySQL 数据库。 1.2 下载 MySQL JDBC 驱动 MySQL JDBC 驱动…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部