使用IDEA社区版搭建Springboot、jsp开发环境

1,感觉传统的JSP可以放弃,直接前端JS+后端就可以了

2,建议不要用低版本的springboot,版本兼容搭配太麻烦

如果仅仅是搭建springboot开发环境,没什么难度,本文主要记录以下几个问题的解决:

1,支持jsp

2,打包war后在外部tomcat环境下运行

使用软件清单

安装IDEA社区版的最新版本(时下是2024.3.2.2)

下载Maven

下载java21

配置maven

以下内容为D:\Develop\apache-maven-3.9.9\settings.xml,从网上搬来的,感谢该网友的分享。

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <!--本地仓库。该值表示构建系统本地仓库的路径。其默认值为${user.home}/.m2/repository。  -->
    <localRepository>D:\Develop\apache-maven-3.9.9\local</localRepository>
    <!--配置服务端的一些设置。如果局域网内部有nexus,需要管理项目jar包可配置 -->  
    <servers>
    </servers>
    <!--为仓库列表配置的下载镜像列表-->  
    <mirrors>
        <!--给定仓库的下载镜像-->  
        <mirror>
            <id>aliyun</id>
            <mirrorOf>central</mirrorOf>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
    </mirrors>
    <!-- 仓库配置 -->
    <profiles>
        <!--根据环境参数来调整的构件的配置 -->  
        <profile>
            <!--该配置的唯一标识符 -->  
            <id>lovecto_profile</id>
            <!-- 远程仓库列表 -->  
            <repositories>
                <repository>
                    <id>aliyun</id>
                    <name>aliyun</name>
                    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>
            <!-- 配置插件下载的仓库列表-->
            <pluginRepositories>
                <pluginRepository>
                    <id>thirdparty_repository</id>
                    <name>thirdparty_repository</name>
                    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <!-- 激活所使用的配置-->
    <activeProfiles>
        <activeProfile>lovecto_profile</activeProfile>
    </activeProfiles>
</settings>

打开Idea,配置Maven:

 

创建一个web项目

打开pom.xml,修改配置后如下(注意其中的注释,需要保留,后面打war包需要):

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>TestSpringBoot3</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>TestSpringBoot3 Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.4.2</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
<!--
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
-->
        </dependency>

        <!-- for jsp -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
<!--
            <scope>provided</scope>
-->
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
<!--
            <scope>provided</scope>
-->
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <version>10.1.34</version>
<!--
            <scope>provided</scope>
-->
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jasper</artifactId>
            <version>10.1.19</version>
<!--
            <scope>provided</scope>
-->
        </dependency>
        <!-- end for jsp -->

    </dependencies>
    <!--for spring boot init application-->
    <build>
        <finalName>TestSpringBoot3</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.sample.Application</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

最后的build-plugin的配置就是让外部tomcat环境启动时能够正常加载Springboot框架二设置的。其中所指的Application.java代码如下:

package com.sample;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

import org.springframework.boot.builder.SpringApplicationBuilder;

@SpringBootApplication
@ServletComponentScan("com.sample")
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        System.out.println("--SpringApplicationBuilder  ------------------x-");
        return builder.sources(Application.class);
    }
}

这个文件可以分成两个,也可以像我一样放在一个文件里,它包含了连个部分:springbootapplication和Springbootservletinitializer,前者只有一个main方法,用来在idea环境下启动springboot项目用,后者是打包war后用的。

添加Springboot的配置文件application.properties(在src-main-resources目录下):

#server.port=8080
#server.servlet.context-path=/test3
spring.mvc.view.suffix=.jsp
#spring.mvc.view.prefix=/WEB-INF/jsp/
server.servlet.jsp.init-parameters.development=true

注意最后一行,那个也是支持jsp的关键。 

写一个Controller测试以下:

package com.sample.controller;

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

@Controller
public class Hello {
    @RequestMapping("/hello")
    public String helloHtml() {
        System.out.println("--hello1-index.html-------");
        return "index";
    }

    //@GetMapping("/helloJsp")
    @RequestMapping("/helloJsp")
    public String hello() {
        System.out.println("--hello1-jsp-------");
        return "/WEB-INF/jsp/hello1";
    }
}

请看我代码里特意保留了一个注释@GetMapping,不要用它,那个是SpringMvc的注解,在springboot项目里不起作用。

在src-main-webapp目录下编写一个index.jsp、WEB-INF/jsp/目录下编写hello1.jsp,内容只有一行即可,用来区分输出的页面,例如(两个文件里自己修改输出的内容,能够区分开两个文件即可):

<%out.println("This is index.jsp file.");%>

在Idea开发环境运行springboot项目

直接在Application.java代码页面右键 Run Application.main

注意观察下方的运行日志,其中就标明了默认的服务器端口8080,看到正常启动后,就可以打开浏览器输入以下地址:

http://localhost:8080/hello

http://localhost:8080/helloJsp

就可以分别看到两个页面的输出了。

打包war

去掉pom.xml里的所有注释,然后在maven栏目-plugin-war:war双击。

IntelliJ IDEA 社区版中手动创建 Spring Boot 项目,尽管没有内置的 Spring Boot 项目模板,但可以通过 Maven 或 Gradle 手动配置 Spring Boot 环境来实现。以下是详细步骤: ### 1. 安装并配置开发环境 确保已安装以下组件: - **JDK**:推荐使用 JDK 17 或更高版本,因为 Spring Boot 3.x 要求 JDK 17 以上版本[^4]。 - **IntelliJ IDEA 社区版**:安装最新版本以获得更好的兼容性和功能支持。 - **Maven 或 Gradle**:推荐使用 Maven,因其在 Spring 生态中使用广泛。 进入 `File > Settings > Build, Execution, Deployment > Build Tools > Maven`,确认 Maven 的安装路径和 `settings.xml` 文件配置正确。 ### 2. 创建 Maven 项目 打开 IntelliJ IDEA,选择 `New Project`,在弹出窗口中选择 `Maven`,取消勾选 `Create from archetype`,点击 `Next`。 填写项目信息: - GroupId:例如 `com.example` - ArtifactId:例如 `demo` - Version:默认 `1.0-SNAPSHOT` 点击 `Next`,选择项目存储路径,点击 `Finish`。 ### 3. 配置 `pom.xml` 文件 创建完成后,打开 `pom.xml` 文件,添加 Spring Boot 的依赖配置。 ```xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.0</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> ``` 保存文件后,IDEA 会自动下载相关依赖包。 ### 4. 创建 Spring Boot 启动类 在 `src/main/java` 下创建包(例如 `com.example.demo`),并新建 Java 类 `DemoApplication`: ```java package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` ### 5. 创建控制器类 在同一包下创建控制器类 `HelloController`: ```java package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping("/") public String index() { return "Hello, Spring Boot!"; } } ``` ### 6. 运行和测试项目 右键点击 `DemoApplication` 类的 `main` 方法,选择 `Run 'DemoApplication'`。项目启动后,在浏览器中访问 `http://localhost:8080/`,如果页面显示 "Hello, Spring Boot!",则说明项目已成功运行。 ### 7. 项目调试与优化 在开发过程中,可以使用 IntelliJ IDEA 的调试功能进行断点调试。此外,可以根据需要添加更多 Spring Boot Starter 模块,如数据库支持、安全控制等[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值