欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用idea整合 spring boot 和jsp详细教程

程序员文章站 2022-05-26 09:53:26
...

使用idea整合springboo和jsp详细教程

项目开发过程中用到springboot整合jsp,在自己百度了一堆网上的教程之后发现,在整合的过程中还是会出现问题,最主要的问题就是404,经过半天的努力之后,自己终于能够整合成功了,所以写个教程;
第一步:使用idea创建一个springboot项目:
使用idea整合 spring boot 和jsp详细教程
使用idea整合 spring boot 和jsp详细教程
使用idea整合 spring boot 和jsp详细教程
使用idea整合 spring boot 和jsp详细教程
使用idea整合 spring boot 和jsp详细教程
具体创建过程比较简单,这里就不多说;
第二步:添加依赖:
我本来的pom.xml是这样的:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
`

现在是这样的:注意在引用依赖的时候,有一个依赖的scope是需要被注释掉的:org.apache.tomcat.embed,她的scope不需要,如果你没有注释的话,后面访问jsp 的时候就会报404;

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- web项目依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <!--<scope>provided</scope> 注意,这个scope需要被注释掉-->
        </dependency>
        <!-- jsp标签库 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

第三步:添加controller:新建一个package,名字叫controller,并新建一个Java class,名为testController;
使用idea整合 spring boot 和jsp详细教程
在TestController中的代码如下:

package com.ccx.springboot.jsp.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {

    @RequestMapping("/index")
    public String index(){
        return  "index";
    }
}

需要注意一个地方:controller上的注解为@Controller(表示是一个controller),而不是@RestController(返回json格式数据);
第四步:创建目录和jsp文件,并添加web.xml
使用idea整合 spring boot 和jsp详细教程
如图所示:在main的下级目录,和Java、resources同级目录创建webapp文件夹,并依次创建WEB-INF和jsp,在jsp文件夹中创建index.jsp;在WEB-INF文件夹中创建web.xml文件,内容如下:

<?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">
</web-app>

index.jsp文件内容如下(比较简单一个jsp):

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>Full Layout - jQuery EasyUI Demo</title>
</head>
<body>
<input type="button" value="点我" />
<input type="text" style="height:100px;width:90%" id="input"/>
</body>
</html>

第五步:在application.properties中添加jsp的前缀和后缀(我的8080端口号被占用,这里修改一下端口号):

#页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/jsp/
#页面默认后缀目录
spring.mvc.view.suffix=.jsp
#我的8080端口号被占用,改一下端口号
server.port=8092

第六步:启动项目并访问:http://localhost:8092/index
到这里就结束了,如果你的项目还起不来,或者按照我的教程访问不了jsp,或者报404的,你来打我!!!ps欢迎留言
使用idea整合 spring boot 和jsp详细教程

相关标签: springboot jsp