1 问题描述
IntelliJ IDEA社区版是JetBrains公司提供的一款免费开源的集成开发环境(IDE),专为Java、Kotlin、Groovy和Scala等语言的开发者设计。它提供了许多强大的功能,帮助开发者提高编程效率。IDEA包括社区版本和专业版本,专业版本属于企业级,支持企业级开发需求,而社区版本则更适合个人开发者。在专业版本中IDEA可以快速的构建Web应用,并且支持多种框架等。但是在社区版本中,IDEA不直接支持创建Web应用开发,且缺少了很多在专业版本里的工具,这使得使用社区版本来开发Web应用存在困难。
为了解决这个问题,我们可以使用Maven来构建Web应用,同时使用社区版本的插件来解决相关的一些配置工具。在 IDEA 中,Maven 是一个流行的项目管理工具,用于构建、测试和部署应用程序。Maven 可以帮助开发者管理项目的依赖关系、构建、测试和部署,简化开发流程,提高开发效率。同时,Maven是一个开源项目管理工具,它提供了一种定义项目信息文件的方式,并定义了项目开发过程中所使用的各种工具。Maven使用一种约定大于配置的方式,通过约定来简化开发流程,提高开发效率。在Maven中,我们可以通过pom.xml文件来定义项目的信息,如项目名称、版本号、依赖包等。同时,Maven还提供了各种插件,如Maven Webapp Plugin、Maven Compiler Plugin等,用于实现Web应用。
2 解决方案
2.1 IDEA配置maven
IDEA社区版本虽然取消了很多专业版本中的功能,但是依然支持Maven构建项目,算是比较便捷的功能。IDEA自带了Maven Wrapper功能,无需安装Maven,直接使用即可。但是由于网速的等问题,也可以自己配置国内镜像,这样下载就不会因为网络的问题出现错误了。如果要自定义配置镜像,可以参考阿里云镜像,建议设置为全局配置,不用每一次都重新配置。具体操作为:
打开IDEA设置,找All setting的选项
如果已经打开过项目找不到该界面,可以在IDEA中,选择File -> Close Project 关闭项目。 然后选择Customize -> All settings 进行全局配置,即所有项目公共的配置。
找到Build,Execution, Deployment选项中的Maven选项进行设置
主要涉及Maven home path,setting file及local repository三个选项。
setting文件是在下载的maven安装目录下的conf文件夹中,名为settings.xml的文件。
setting文件主要涉及mirror,proxy,server等选项。其中mirror这是阿里镜像可以找到mirror标签
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
<mirror>
<id>central</id>
<url>https://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
local repository是maven下载的jar包等文件存放的地方,默认是在用户目录下的.m2文件夹中。
配置好后,对应重写按钮,点击Apply,然后点击OK,重启IDEA即可。
2.2 IDEA创建maven Web项目
Maven配置好后,可以开始创建项目。
通过上述设置,可以创建好一个maven web项目,点击确定后需要一定的时间构建项目,这个过程中要注意网络的状况。
创建并初始化好项目后,具体的项目结构为:
src 应用程序源代码和测试程序代码的根目录
├─ main
│ ├─ java 应用程序源代码目录
│ ├─ resources 应用程序用到的资源文件(一般都是配置文件)
│ └─ webapp web项目根目录
│ ├─ index.jsp 默认首页
│ └─ WEB-INF
│ └─ web.xml web项目配置文件
└─ test
├─ java 测试程序代码目录
└─ resources 测试程序用到的资源文件
同时也可以找pom.xml,该文件是项目的配置文件,里面有项目依赖的jar包。
初始化后从pom.xml文件中已经可以看到已经安装好了junit测试框架。
2.3 Maven下载项目依赖的jar包
需要下载相应的包请到Maven Central下载。里面提供了搜索功能,可以搜索到需要的包,并提供了不同的依赖方式,其中有maven方式、gradle方式等,选择Maven方式就可以。例如:postgresql-42.7.4.jar包,在搜索框中输入postgresql,选择postgresql-42.7.4.jar,点击搜索,选择Maven方式,点击下载。
复制代码后就可以在pom.xml文件中进行配置
然后点击这个小图标进行构建,稍后项目中就配置好了postgresql的依赖了。
成功后的界面如下:
2.4 配置tomcat并运行项目
去tomcat官网下载tomcat,不要下载最新版本,建议使用tomcat8或tomcat9,这样兼容问题会少一些。
IDEA中配置tomcat,由于IDEA社区版本不直接支持配置Tomcat的配置,需要下载插件:
安装好后就可以配置tomgcat服务了,选择run菜单的Eidt Configurations,选择plus图标,选择smart Tomcat,选择Local,然后选择tomcat目录,点击OK
主要设置服务名称和配置tomcat的目录及端口,默认端口为8080,开发中可以使用其它端口。
配置完成后,可以运行项目。
看到成功的结果
点击链接,可以查看项目结果。
运行结果为webapp目录下的index.jsp文件,出现hello world说明已经配置成功,现在就可以开始基于maven进行web开发了。
2.5 配置postgresql数据并在JSP中调用
在项目mian文件夹下创建java文件夹,便可以在项目中进行编写Java代码。
在java文件夹下创建DatabaseUtils.java文件实现对数据库的操作。这里使用的数据库是PostgreSQL,postgresql的驱动包参考上述的包导入方式。
同时,数据需要提前创建好,在数据库中创建表,并插入数据。postgresql中的表结构如下:
具体代码如下:
package com.yn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class DatabaseUtils {
private static final String URL = "jdbc:postgresql://localhost:5432/dbinfo";
private static final String USER = "postgres";
private static final String PASSWORD = "123456";
public static List<String[]> getTableData(String tableName) {
List<String[]> data = new ArrayList<>();
try {
// 显式加载和注册驱动
Class.forName("org.postgresql.Driver");
try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD)) {
String query = "SELECT * FROM " + tableName;
System.out.println(query);
PreparedStatement pstmt = conn.prepareStatement(query);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
String[] row = new String[2];
row[0] = String.valueOf(rs.getInt("id"));
row[1] = rs.getString("name");
data.add(row);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
}
修改index.jsp
文件,添加如下代码:
<%@ page import="java.util.List" %>
<%@ page import="com.yn.DatabaseUtils" %>
<!DOCTYPE html>
<html>
<head>
<title>Display Table</title>
</head>
<body>
<h1>Database Table Content</h1>
<%
List<String[]> tableData = DatabaseUtils.getTableData("info");
%>
<table border='1'>
<tr><th>ID</th><th>Name</th></tr>
<%
for (String[] row : tableData) {
%>
<tr><td><%= row[0] %></td><td><%= row[1] %></td></tr>
<%
}
%>
</table>
</body>
</html>
重新运行项目,查看结果
到此,Maven构建Web应用已经完成。后续可以在jsp的基础上引入其它的包。
3 参考资料
IDEA设置全局配置_idea如何打开一个项目,全局设置-CSDN博客
https://www.cnblogs.com/schiller-hu/p/9975030.html
一次包会——最新IDEA配置Maven指南(2024年最新)_idea2023配置maven-CSDN博客
IDEA社区版tomcat配置教程_idea社区版没有tomcat-CSDN博客