JavaWeb通過IDEA配置Servlet操作流程詳解
創(chuàng)建項(xiàng)目
首先創(chuàng)建一個(gè)空項(xiàng)目?。?!注意是空項(xiàng)目?。。?/p>
點(diǎn)擊 文件->新建->新模塊 ,新建一個(gè)名稱為 servlet02 的模塊(注意該模塊的生成位置應(yīng)該在我們剛剛新建的空項(xiàng)目下面?。。。?/p>

之后右鍵點(diǎn)擊新模塊 servlet02,選擇 “添加框架支持”
勾選 “web 應(yīng)用程序” ,之后直接點(diǎn)擊完成即可自動(dòng)生成 webapp 框架;

引入外部 jar
文件 -> 項(xiàng)目結(jié)構(gòu)
模塊 -> servlet02 -> 依賴 -> 點(diǎn)擊加號(hào),并選擇第一個(gè)項(xiàng)目
找到 tomcat 根目錄下的 lib 文件夾,選擇 jsp-api.jar 和 servlet-api.jar 兩個(gè)包并導(dǎo)入!

安裝 mysql-connector
前往 maven 中心倉庫,搜索 mysql-connector;
或者直接前往此地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java
因?yàn)槲沂褂玫氖?mysql5.7 版本,所以我們找到倉庫內(nèi)的 5.1.x 中最新的那一個(gè)版本,下載其 jar 包就好了(5.1.x 版本兼容 5.7)

下載完畢后直接把該 jar 包,粘貼到 tomcat 根目錄下的 lib 文件夾里面!
編寫 servlet 文件
下面就是標(biāo)準(zhǔn)的 JDBC 操作了,請(qǐng)您直接看注釋,一個(gè)個(gè)解釋太累了
package com.zhiyiyi.javaweb.servlet;
import jakarta.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
public class StudentServlet implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
// 設(shè)置請(qǐng)求頭類型
response.setContentType("text/html");
// 設(shè)置輸出
PrintWriter printWriter = response.getWriter();
// 為三件套分配內(nèi)存空間
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 反射獲取jdbc驅(qū)動(dòng)
Class.forName("com.mysql.jdbc.Driver");
// 傳入你的mysql數(shù)據(jù)庫名稱、用戶名、密碼
String url = "jdbc:mysql://localhost:3306/jakarta";
String user = "root";
String password = "123456";
// 鏈接數(shù)據(jù)庫
conn = DriverManager.getConnection(url, user, password);
// 編寫查詢語句并執(zhí)行,使用resultset取回查詢結(jié)果
String sql = "select no, name from std1";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
// 打印從數(shù)據(jù)庫中取回的結(jié)果
while (rs.next()) {
String no = rs.getString("no");
String name = rs.getString("name");
printWriter.println(no + " " + name + "<br>");
}
// 一些錯(cuò)誤處理
} catch (ClassNotFoundException | SQLException e) {
throw new RuntimeException(e);
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}編寫 student.html 文件
我們生成的 webapp 模板默認(rèn)是自帶一個(gè) index.jsp 的,目前用不到,先刪掉;
在同樣的位置新建一個(gè) student.html 文件,輸入以下代碼;
這里使用了一個(gè)鏈接指向了我們剛剛編寫的 servlet;
<html>
<head>
<meta charset="UTF-8" />
<title>student servlet</title>
</head>
<body>
<a href="/crm/servlet/student" rel="external nofollow" >student list</a>
</body>
</html>
配置 tomcat 服務(wù)器
點(diǎn)擊 idea 右上角綠色小三角左邊的下拉列表,選擇“添加配置”
彈出窗口點(diǎn)擊加號(hào) -> tomcat 服務(wù)器 -> 本地
然后按照下圖所示填充內(nèi)容
注意:由于我的電腦端口被占用,所以我修改了 http 端口為 10086,事實(shí)上這一項(xiàng)我們保持默認(rèn)不用管就可以了!

再次進(jìn)入“部署”欄目,點(diǎn)擊加號(hào)添加工件,然后設(shè)置應(yīng)用程序上下文為/crm 即可;
這里的 /crm 對(duì)應(yīng)我們之前的 student.html 鏈接里的/crm
/crm 表示項(xiàng)目的目錄

運(yùn)行并查看服務(wù)器
一切配置完畢,點(diǎn)擊綠色按鈕開始構(gòu)建 tomcat 服務(wù)器;
此時(shí)因?yàn)槲覀児催x了服務(wù)器一啟動(dòng)就打開瀏覽器的選項(xiàng),但我們發(fā)現(xiàn)剛剛打開的瀏覽器 404 報(bào)錯(cuò);
別著急,只是路徑對(duì)不上,我們將 url 改為我們?cè)O(shè)置的 herf 路徑即可訪問到 mysql 提取的數(shù)據(jù)了?。?!

到此這篇關(guān)于JavaWeb通過IDEA配置Servlet操作流程詳解的文章就介紹到這了,更多相關(guān)JavaWeb配置Servlet內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JDBC實(shí)現(xiàn)數(shù)據(jù)庫增刪改查功能
這篇文章主要為大家詳細(xì)介紹了JDBC實(shí)現(xiàn)數(shù)據(jù)庫增刪改查功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
解決JMap抓取heap使用統(tǒng)計(jì)信息報(bào)錯(cuò)的問題
這篇文章主要介紹了解決JMap抓取heap使用統(tǒng)計(jì)信息報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
詳解通過JDBC進(jìn)行簡單的增刪改查(以MySQL為例)
JDBC是用于執(zhí)行SQL語句的一類Java API,通過JDBC使得我們可以直接使用Java編程來對(duì)關(guān)系數(shù)據(jù)庫進(jìn)行操作。通過封裝,可以使開發(fā)人員使用純Java API完成SQL的執(zhí)行。2017-01-01
JavaWeb項(xiàng)目web.xml中出現(xiàn)Element xxx is not al
這篇文章主要介紹了JavaWeb項(xiàng)目web.xml中出現(xiàn)Element xxx is not allowed here問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Java tomcat中的類加載器和安全機(jī)制你了解嗎
這篇文章主要介紹了Tomcat 類加載器的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下,希望能夠給你帶來幫助2021-09-09
Springboot自動(dòng)配置與@Configuration配置類詳解
這篇文章主要介紹了SpringBoot中的@Configuration與自動(dòng)配置,在進(jìn)行項(xiàng)目編寫前,我們還需要知道一個(gè)東西,就是SpringBoot對(duì)我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們?cè)谥笫褂貌艜?huì)更加得心應(yīng)手2022-07-07

