Heim Datenbank MySQL-Tutorial Servlet+JDBC+MySQL简单web练习

Servlet+JDBC+MySQL简单web练习

Jun 07, 2016 pm 03:28 PM
s web 简单 练习

Servlet+JDBC+MySQL简单web练习 一、Servlet结构 1〉构造函数constructor 2〉init();初始化——〉将web.xml中有关sql的配置和相关连接语句封装到该函数中。 3〉doGet();doPost();将数据库操作的sql语句封装到该函数。 4〉destory();将相关资源释放,如:关闭

Servlet+JDBC+MySQL简单web练习

一、Servlet结构
1〉构造函数constructor
2〉init();初始化——〉将web.xml中有关sql的配置和相关连接语句封装到该函数中。
3〉doGet();doPost();将数据库操作的sql语句封装到该函数。
4〉destory();将相关资源释放,如:关闭数据库语句封装到该函数中。

二、JDBC(oop)+Mysql(db开发)
1〉驱动文件包(*.jar)
2〉Connection与db建立连接.
3〉ResultSet(纪录结果集)
4〉get方法获取字段。
5〉释放资源。

三、从基本框架—-〉到流程思想。
实现一和二的资源整合。

四、步骤。
要求:已经在MySQL中建立school数据库、studentinfo(id,name,age)。
1〉建立一个webproject(web应用名myweb)
2〉在webproject中建立一个package(名为web)
3〉在package中建立一个servlet(名为MyServlet)
4〉完成一的转化(封装)
//初始化函数,连接数据库
public void init() throws ServletException {
String url=”jdbc:mysql://localhost:3306/school”;
String user=”root”;
String pwd=”root”;
try{
Class.forName(“com.mysql.jdbc.Driver”);
//加载驱动,这一句也可写为:Class.forName(“com.mysql.jdbc.Driver”).newInstance();
//建立到MySQL的连接
conn = DriverManager.getConnection(url,user, pwd);
}catch(Exception ex){
System.out.println(“Error : ” + ex.toString());
}
}

//定义成员变量
Connection conn;
ResultSet rs;

//对数据库的操作
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//解决中文乱码问题
response.setContentType(“text/html;charset=utf-8”);//使浏览器默认编码为utf-8
//response.setCharacterEncoding(“utf-8”);//也可解决中文乱码
PrintWriter out = response.getWriter();
out.println(“”);
out.println(““);
out.println(” A Servlet“);
out.println(” “);
try{
//执行SQL语句
Statement stmt = conn.createStatement();//创建语句对象,用以执行sql语言
ResultSet rs = stmt.executeQuery(“select * from studentinfo”);
//处理结果集
out.println(“

“);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
while (rs.next()){
String id=rs.getString(“id”);
String name=rs.getString(“name”);
String age=rs.getString(“age”);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
}
out.print(“
“);out.println(“学生信息表”); out.println(“
“);out.println(“学号1”);out.println(“ “);out.println(“姓名”);out.println(“ “);out.println(“年龄”);out.println(“
“);out.println(id);out.println(“ “);out.print(name);out.println(“ “);out.println(age);out.println(“
“);
}catch(Exception ex){
System.out.println(“Error : ” + ex.toString());
}
out.println(” “);
out.println(““);
out.flush();
out.close();
}

//释放资源
public void destroy() {
super.destroy();
try{
rs.close();//关闭数据库
conn.close();
}catch(Exception ex){
System.out.println(“Error : ” + ex.toString());
}

自动生成的包
package web;

修改后导入的包(编程时系统会自动导入包)
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

完整代码如下:
package web;

import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Myservlet extends HttpServlet {

<code>//定义成员变量
Connection conn;
ResultSet rs;

public Myservlet() {
    super();
}

//初始化函数,连接数据库
public void init() throws ServletException {
    String url="jdbc:mysql://localhost:3306/school";
    String user="root";
    String pwd="root";
    try{
        Class.forName("com.mysql.jdbc.Driver");
        //加载驱动,这一句也可写为:Class.forName("com.mysql.jdbc.Driver").newInstance();
        //建立到MySQL的连接
        conn = DriverManager.getConnection(url,user, pwd);
        }catch(Exception ex){
          System.out.println("Error : " + ex.toString());
          }
}

//对数据库的操作
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    //解决中文乱码问题
    response.setContentType("text/html;charset=utf-8");//使浏览器默认编码为utf-8
    //response.setCharacterEncoding("utf-8");//也可解决中文乱码
    PrintWriter out = response.getWriter();
    out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");
    out.println("");
    out.println("  <title>A Servlet</title>");
    out.println("  ");
    try{
        //执行SQL语句
        Statement stmt = conn.createStatement();//创建语句对象,用以执行sql语言
        ResultSet rs = stmt.executeQuery("select * from studentinfo");
        //处理结果集
        out.println("<table width="500;" border="1;" cellspacing="0">");
        out.println("<tr>");
        out.println("<th>");out.println("学生信息表"); out.println("</th>");
        out.println("</tr>");
        out.println("<tr>");
        out.println("<td>");out.println("学号1");out.println("</td>");
        out.println("<td>");out.println("姓名");out.println("</td>");
        out.println("<td>");out.println("年龄");out.println("</td>");
        out.println("</tr>");
        while (rs.next()){
            String id=rs.getString("id");
            String name=rs.getString("name");
            String age=rs.getString("age");
            out.println("<tr>");
            out.println("<td>");out.println(id);out.println("</td>");
            out.println("<td>");out.print(name);out.println("</td>");
            out.println("<td>");out.println(age);out.println("</td>");
            out.println("</tr>");
            }
        out.print("</table>");
    }catch(Exception ex){
        System.out.println("Error : " + ex.toString());
    }
    out.println("  ");
    out.println("");
    out.flush();
    out.close();
}

//释放资源
public void destroy() {
    super.destroy(); 
    try{
        rs.close();//关闭数据库
        conn.close();
    }catch(Exception ex){
        System.out.println("Error : " + ex.toString());
    }
}
</code>
Nach dem Login kopieren

}

6〉BuildPach——〉AddExternalArchives…
导入下载好的数据库连接包(mysql-connector-java.jar)
7〉保存后,将web应用发布到所配置好的tomcat上。
8〉启动tomcat。
9〉在浏览器URL栏输入http://localhost:8080/web应用名/servlet/servlet名
如:http://localhost:8080/myweb/servlet/Myservlet
10〉在浏览器上显示出:学生信息表。
11〉每次调试程序都要重启tomcat和重新发布到tomcat上。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der einfachste Weg, die Seriennummer der Festplatte abzufragen Der einfachste Weg, die Seriennummer der Festplatte abzufragen Feb 26, 2024 pm 02:24 PM

Die Seriennummer der Festplatte ist eine wichtige Kennung der Festplatte und dient in der Regel zur eindeutigen Identifizierung der Festplatte und zur Identifizierung der Hardware. In einigen Fällen müssen wir möglicherweise die Seriennummer der Festplatte abfragen, beispielsweise bei der Installation eines Betriebssystems, der Suche nach dem richtigen Gerätetreiber oder der Durchführung von Festplattenreparaturen. In diesem Artikel werden einige einfache Methoden vorgestellt, mit denen Sie die Seriennummer der Festplatte überprüfen können. Methode 1: Verwenden Sie die Windows-Eingabeaufforderung, um die Eingabeaufforderung zu öffnen. Drücken Sie im Windows-System die Tasten Win+R, geben Sie „cmd“ ein und drücken Sie die Eingabetaste, um den Befehl zu öffnen

Mar 18, 2024 pm 04:25 PM

Heutzutage verwenden viele Freunde gerne den Kingsoft Typing Assistant, aber die Tippgeschwindigkeit beeinträchtigt die Arbeitseffizienz erheblich. Deshalb zeige ich Ihnen, wie Sie mit dem Kingsoft Typing Assistant das Tippen üben können Wie man das Eingeben von Zahlen mit dem Kingsoft Typing Assistant übt, wird im Folgenden beschrieben. Ich hoffe, dass es für alle hilfreich ist. Öffnen Sie zunächst die Kingsoft-Schreibsoftware, klicken Sie dann mit der Maus auf die Schaltfläche (Erste Schritte), klicken Sie dann in einem neuen Fenster auf die Schaltfläche (Zifferntasten) und dann unten auf die Schaltfläche (Von Grund auf neu beginnen), um zu üben, oder klicken Sie auf die Schaltfläche ( Geben Sie zum Üben einfach Zahlen ein. Darüber hinaus verfügt der Kingsoft Typing Assistant über weitere Funktionen, mit denen Sie das Tippen besser üben können. 1. Übungsmodus auswählen: Auf der Softwareoberfläche sehen Sie, dass es verschiedene Übungsmodi gibt, wie zum Beispiel „Neu“.

Wie schreibe ich einen einfachen Generator für Schülerleistungsberichte mit Java? Wie schreibe ich einen einfachen Generator für Schülerleistungsberichte mit Java? Nov 03, 2023 pm 02:57 PM

Wie schreibe ich einen einfachen Generator für Schülerleistungsberichte mit Java? Der Student Performance Report Generator ist ein Tool, das Lehrern und Erziehern dabei hilft, schnell Berichte über die Schülerleistung zu erstellen. In diesem Artikel wird erläutert, wie Sie mit Java einen einfachen Generator für Schülerleistungsberichte schreiben. Zuerst müssen wir das Studentenobjekt und das Studentennotenobjekt definieren. Das Schülerobjekt enthält grundlegende Informationen wie den Namen und die Schülernummer des Schülers, während das Schülerergebnisobjekt Informationen wie die Fachnoten und die Durchschnittsnote des Schülers enthält. Das Folgende ist die Definition eines einfachen Studentenobjekts: öffentlich

Wie schreibe ich ein einfaches Online-Reservierungssystem mit PHP? Wie schreibe ich ein einfaches Online-Reservierungssystem mit PHP? Sep 26, 2023 pm 09:55 PM

So schreiben Sie ein einfaches Online-Reservierungssystem mit PHP Mit der Popularität des Internets und dem Streben der Benutzer nach Bequemlichkeit werden Online-Reservierungssysteme immer beliebter. Ganz gleich, ob es sich um ein Restaurant, ein Krankenhaus, einen Schönheitssalon oder eine andere Dienstleistungsbranche handelt, ein einfaches Online-Reservierungssystem kann die Effizienz steigern und den Benutzern ein besseres Serviceerlebnis bieten. In diesem Artikel wird erläutert, wie Sie mit PHP ein einfaches Online-Reservierungssystem schreiben und spezifische Codebeispiele bereitstellen. Datenbank und Tabellen erstellen Zuerst müssen wir eine Datenbank erstellen, um Reservierungsinformationen zu speichern. In MyS

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um ein einfaches Bibliotheksverwaltungssystem zu implementieren Schnellstart: Verwenden Sie Go-Sprachfunktionen, um ein einfaches Bibliotheksverwaltungssystem zu implementieren Jul 30, 2023 am 09:18 AM

Schnellstart: Implementierung eines einfachen Bibliotheksverwaltungssystems mithilfe von Go-Sprachfunktionen Einführung: Mit der kontinuierlichen Entwicklung auf dem Gebiet der Informatik werden die Anforderungen an Softwareanwendungen immer vielfältiger. Als allgemeines Verwaltungsinstrument ist das Bibliotheksverwaltungssystem auch für viele Bibliotheken, Schulen und Unternehmen zu einem der notwendigen Systeme geworden. In diesem Artikel werden wir Go-Sprachfunktionen verwenden, um ein einfaches Bibliotheksverwaltungssystem zu implementieren. Anhand dieses Beispiels können Leser die grundlegende Verwendung von Funktionen in der Go-Sprache erlernen und lernen, wie man ein praktisches Programm erstellt. 1. Designideen: Lassen Sie uns zuerst

Wie schreibe ich ein einfaches Musikempfehlungssystem in C++? Wie schreibe ich ein einfaches Musikempfehlungssystem in C++? Nov 03, 2023 pm 06:45 PM

Wie schreibe ich ein einfaches Musikempfehlungssystem in C++? Einleitung: Das Musikempfehlungssystem ist ein Forschungs-Hotspot in der modernen Informationstechnologie. Es kann Benutzern Songs basierend auf ihren Musikpräferenzen und Verhaltensgewohnheiten empfehlen. In diesem Artikel wird erläutert, wie Sie mit C++ ein einfaches Musikempfehlungssystem schreiben. 1. Benutzerdaten sammeln Zuerst müssen wir die Musikpräferenzdaten der Benutzer sammeln. Durch Online-Umfragen, Fragebögen etc. können die Vorlieben der Nutzer für verschiedene Musikrichtungen ermittelt werden. Speichern Sie Daten in einer Textdatei oder Datenbank

Wie man mit PHP einfache Dateiverwaltungsfunktionen entwickelt Wie man mit PHP einfache Dateiverwaltungsfunktionen entwickelt Sep 20, 2023 pm 01:09 PM

Einführung in die Verwendung von PHP zur Entwicklung einfacher Dateiverwaltungsfunktionen: Dateiverwaltungsfunktionen sind ein wesentlicher Bestandteil vieler Webanwendungen. Es ermöglicht Benutzern das Hochladen, Herunterladen, Löschen und Anzeigen von Dateien und bietet Benutzern eine bequeme Möglichkeit, Dateien zu verwalten. In diesem Artikel wird erläutert, wie Sie mit PHP eine einfache Dateiverwaltungsfunktion entwickeln und spezifische Codebeispiele bereitstellen. 1. Erstellen Sie ein Projekt. Zuerst müssen wir ein einfaches PHP-Projekt erstellen. Erstellen Sie die folgende Datei im Projektverzeichnis: index.php: Hauptseite, die zur Anzeige der Upload-Tabelle verwendet wird

So aktivieren Sie den administrativen Zugriff über die Cockpit-Web-Benutzeroberfläche So aktivieren Sie den administrativen Zugriff über die Cockpit-Web-Benutzeroberfläche Mar 20, 2024 pm 06:56 PM

Cockpit ist eine webbasierte grafische Oberfläche für Linux-Server. Es soll vor allem neuen/erfahrenen Benutzern die Verwaltung von Linux-Servern erleichtern. In diesem Artikel besprechen wir die Cockpit-Zugriffsmodi und wie Sie den Administratorzugriff von CockpitWebUI auf das Cockpit umstellen. Inhaltsthemen: Cockpit-Eingabemodi Ermitteln des aktuellen Cockpit-Zugriffsmodus Aktivieren des Verwaltungszugriffs für das Cockpit über CockpitWebUI Deaktivieren des Verwaltungszugriffs für das Cockpit über CockpitWebUI Fazit Cockpit-Eingabemodi Das Cockpit verfügt über zwei Zugriffsmodi: Eingeschränkter Zugriff: Dies ist die Standardeinstellung für den Cockpit-Zugriffsmodus. In diesem Zugriffsmodus können Sie vom Cockpit aus nicht auf den Webbenutzer zugreifen

See all articles