欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaWeb通過(guò)IDEA配置Servlet操作流程詳解

 更新時(shí)間:2022年10月09日 14:13:07   作者:知奕奕  
這篇文章主要介紹了JavaWeb通過(guò)IDEA配置Servlet實(shí)現(xiàn)流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧

創(chuàng)建項(xiàng)目

首先創(chuàng)建一個(gè)空項(xiàng)目?。?!注意是空項(xiàng)目?。?!

點(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.jarservlet-api.jar 兩個(gè)包并導(dǎo)入!

安裝 mysql-connector

前往 maven 中心倉(cāng)庫(kù),搜索 mysql-connector;

或者直接前往此地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java

因?yàn)槲沂褂玫氖?mysql5.7 版本,所以我們找到倉(cāng)庫(kù)內(nèi)的 5.1.x 中最新的那一個(gè)版本,下載其 jar 包就好了(5.1.x 版本兼容 5.7)

下載完畢后直接把該 jar 包,粘貼到 tomcat 根目錄下的 lib 文件夾里面!

編寫(xiě) 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ù)庫(kù)名稱、用戶名、密碼
            String url = "jdbc:mysql://localhost:3306/jakarta";
            String user = "root";
            String password = "123456";
            // 鏈接數(shù)據(jù)庫(kù)
            conn = DriverManager.getConnection(url, user, password);
            // 編寫(xiě)查詢語(yǔ)句并執(zhí)行,使用resultset取回查詢結(jié)果
            String sql = "select no, name from std1";
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            // 打印從數(shù)據(jù)庫(kù)中取回的結(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() {
    }
}

編寫(xiě) student.html 文件

我們生成的 webapp 模板默認(rèn)是自帶一個(gè) index.jsp 的,目前用不到,先刪掉;

在同樣的位置新建一個(gè) student.html 文件,輸入以下代碼;

這里使用了一個(gè)鏈接指向了我們剛剛編寫(xiě)的 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)擊綠色按鈕開(kāi)始構(gòu)建 tomcat 服務(wù)器;

此時(shí)因?yàn)槲覀児催x了服務(wù)器一啟動(dòng)就打開(kāi)瀏覽器的選項(xiàng),但我們發(fā)現(xiàn)剛剛打開(kāi)的瀏覽器 404 報(bào)錯(cuò);

別著急,只是路徑對(duì)不上,我們將 url 改為我們?cè)O(shè)置的 herf 路徑即可訪問(wèn)到 mysql 提取的數(shù)據(jù)了?。。?/p>

到此這篇關(guān)于JavaWeb通過(guò)IDEA配置Servlet操作流程詳解的文章就介紹到這了,更多相關(guān)JavaWeb配置Servlet內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java jdbc連接和使用詳細(xì)介紹

    java jdbc連接和使用詳細(xì)介紹

    這篇文章主要介紹了 java jdbc連接和使用詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • spring循環(huán)依賴策略解析

    spring循環(huán)依賴策略解析

    這篇文章主要為大家詳細(xì)介紹了spring循環(huán)依賴策略,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Java數(shù)據(jù)結(jié)構(gòu)之平衡二叉樹(shù)的原理與實(shí)現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之平衡二叉樹(shù)的原理與實(shí)現(xiàn)

    平衡樹(shù)(Balance Tree,BT) 指的是,任意節(jié)點(diǎn)的子樹(shù)的高度差都小于等于1。常見(jiàn)的符合平衡樹(shù)的有,B樹(shù)(多路平衡搜索樹(shù))、AVL樹(shù)(二叉平衡搜索樹(shù))等。本文將詳細(xì)介紹平衡二叉樹(shù)的概念和實(shí)現(xiàn)原理以及它的實(shí)現(xiàn)
    2022-01-01
  • SpringBoot整合MyBatis逆向工程及 MyBatis通用Mapper實(shí)例詳解

    SpringBoot整合MyBatis逆向工程及 MyBatis通用Mapper實(shí)例詳解

    這篇文章主要介紹了SpringBoot整合MyBatis逆向工程及 MyBatis通用Mapper實(shí)例詳解 ,需要的朋友可以參考下
    2017-09-09
  • SpringBoot如何實(shí)現(xiàn)分離資源文件并打包

    SpringBoot如何實(shí)現(xiàn)分離資源文件并打包

    這篇文章主要介紹了SpringBoot如何實(shí)現(xiàn)分離資源文件并打包,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot整合Lettuce redis過(guò)程解析

    SpringBoot整合Lettuce redis過(guò)程解析

    這篇文章主要介紹了SpringBoot整合Lettuce redis過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 淺談list.removeAll()刪除失敗的原因及解決

    淺談list.removeAll()刪除失敗的原因及解決

    這篇文章主要介紹了淺談list.removeAll()刪除失敗的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼

    SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼

    Feign是一個(gè)開(kāi)源的Java HTTP客戶端,可以幫助我們?cè)赟pringBoot應(yīng)用中快速構(gòu)建和使用HTTP客戶端,方便實(shí)現(xiàn)服務(wù)間的通信,本文就來(lái)介紹一下SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼,感興趣的可以了解一下
    2024-01-01
  • SpringMVC和Ajax的交互詳解(手工處理)

    SpringMVC和Ajax的交互詳解(手工處理)

    Ajax即異步的?JavaScript和XML,是一種無(wú)需重新加載整個(gè)網(wǎng)頁(yè)的情況下,能夠更新部分模塊的網(wǎng)頁(yè)技術(shù),下面這篇文章主要給大家介紹了關(guān)于SpringMVC和Ajax交互的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • HttpServletRequest對(duì)象常用功能_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    HttpServletRequest對(duì)象常用功能_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了HttpServletRequest對(duì)象常用功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07

最新評(píng)論