IntelliJ IDEA庞大又复杂,正版需要149美金。作为Java小白,我也就只是开发一般的Java应用,根本也用不上它的那些功能。我就炒个简版的酸辣土豆丝,可你却给我安利了个准备做满汉全席的高端厨房,这叫我如何是好?!
看了网上做Java开发的,绝大部分都在使用IDEA,没有办法也只能下载下来学习使用,工欲善其事,必先利其器,磨刀还是不误砍柴工的。
下面整理使用IntelliJ IDEA2022版本进行Java的web程序开发的详细步骤。
这里是从官网上下载的正版,试用版,下个月就过期,这个比较遗憾。
第一步:建立新的空项目。
建立新的空项目后再逐一配置好IntelliJ IDEA所需要的编辑、编译、运行的环境即可。
第二步:建立新的普通Java模块。
第三步:为该模块添加Web应用的框架支持。
在该模块上点击右键,选择“添加框架支持...”。
现在,该模块下多出了web目录,这也是该项目的Web应用的根目录。
第四步:在web目录下新建lib目录,将开发程序需要用到的jar包添加到该目录下。
这是为了以后发行程序用到的,现在作为测试开发不发行可以不做,只添加引用也可以。
第五步:为项目添加引用。
在file(文件) -> Project Structure(项目结构) -> Module(模块)中添加引用。
如果用到了json,需要添加json.jar包。
第六步:添加Tomcat服务器。
就是为IDEA配置Web服务器,这样可以一体化地进行程序的编写与运行调试。
添加部署,就是运行web程序的配置。
第七步:编写程序。
因为Java只做后台开发,那么就测试编写在Servlet和JSP中返回JSON格式的数据。
⑴ 添加实现Servlet的方法,主要是service方法。
package com.dawn.javaweb;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import javax.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
public class GetComputerInfo implements Servlet{
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("Servlet访问MS SQL Server 2014数据库并返回Json格式数据");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
Connection DBConn=null;
Statement Stmt=null;
ResultSet RS=null;
try {
//1.注册连接数据库的驱动程序
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2.定义连接数据库的属性
String url="jdbc:sqlserver://XX.XX.XX.XX:1433;DataBase=YYYY";
String username="sa";
String password="ZZZZ";
//3.连接数据库
DBConn= DriverManager.getConnection(url,username,password);
//4.定义SQL语句
String StrSql="select * from MM";
//5.获取执行sql语句的statement
Stmt=DBConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//6.执行sql并返回结果集
RS=Stmt.executeQuery(StrSql);
//7.处理结果
JSONArray ReturnJson=new JSONArray();
while( RS.next() ){
JSONObject JsonTmp=new JSONObject();
JsonTmp.put("c01",RS.getString(1));
JsonTmp.put("c02",RS.getString(2));
JsonTmp.put("c03",RS.getString(3));
JsonTmp.put("c04",RS.getString(4));
JsonTmp.put("c05",RS.getString(5));
ReturnJson.put(JsonTmp);
}
servletResponse.setContentType("text/json; charset=UTF-8");
PrintWriter JSPReturn=servletResponse.getWriter();
JSPReturn.write(ReturnJson.toString());
//8.释放资源
Stmt.close();
DBConn.close();
} catch (ClassNotFoundException | SQLException | JSONException e) {
throw new RuntimeException(e);
}
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
注意这里返回的是Json格式的数据。
web.xml的配置:
UserListServlet
com.dawn.javaweb.GetComputerInfo
UserListServlet
/servlet01/dawn01
⑵、编写JSP脚本:
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="org.json.JSONArray" %>
<%@ page import="org.json.JSONObject" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" language="java" errorPage="error.jsp" %>
<%-- 访问MS SQL Server 2014 数据库并返回JSON格式的数据 --%>
<%@ page import="java.sql.*" %>
<%
System.out.println("Java的JSP访问MS SQL Server 2014数据");
//1.定义变量
Connection DBConn=null;
Statement Stmt=null;
ResultSet RS=null;
String StrSql;
//2.定义连接数据库的属性
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url="jdbc:sqlserver://XX.XX.XX.XX:1433;DataBase=YYYY";
String username="sa";
String password="ZZZZ";
//3.注册连接数据库的驱动程序
Class.forName(driverName);
//4.连接数据库
DBConn= DriverManager.getConnection(url,username,password);
Stmt=DBConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//4.定义SQL语句
StrSql = "select * from MMMM";
//5.执行sql并返回结果集
RS=Stmt.executeQuery(StrSql);
//7.处理结果
JSONArray ReturnJson=new JSONArray();
while( RS.next() ){
JSONObject JsonTmp=new JSONObject();
JsonTmp.put("c01",RS.getString(1));
JsonTmp.put("c02",RS.getString(2));
JsonTmp.put("c03",RS.getString(3));
JsonTmp.put("c04",RS.getString(4));
JsonTmp.put("c05",RS.getString(5));
ReturnJson.put(JsonTmp);
}
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter JSPReturn=response.getWriter();
JSPReturn.write(ReturnJson.toString());
RS.close();
Stmt.close();
DBConn.close();
%>
⑶、编写前端测试脚本:
123
点击运行即可。
在前端页面中,输出的都是对象,按下F12即可看到返回的JSON的详细数据了。
唯一遗憾的是,下个月这个IDEA就过期了。