首頁 資料庫 mysql教程 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>
登入後複製

}

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上。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

最簡單的硬碟序號查詢方式 最簡單的硬碟序號查詢方式 Feb 26, 2024 pm 02:24 PM

最簡單的硬碟序號查詢方式

金山打字通怎麼練打字-金山打字通練習打字方法 金山打字通怎麼練打字-金山打字通練習打字方法 Mar 18, 2024 pm 04:25 PM

金山打字通怎麼練打字-金山打字通練習打字方法

如何透過PHP編寫一個簡單的線上預約系統 如何透過PHP編寫一個簡單的線上預約系統 Sep 26, 2023 pm 09:55 PM

如何透過PHP編寫一個簡單的線上預約系統

如何使用Java來寫一個簡單的學生成績報表產生器? 如何使用Java來寫一個簡單的學生成績報表產生器? Nov 03, 2023 pm 02:57 PM

如何使用Java來寫一個簡單的學生成績報表產生器?

快速入門:使用Go語言函數實現簡單的圖書管理系統 快速入門:使用Go語言函數實現簡單的圖書管理系統 Jul 30, 2023 am 09:18 AM

快速入門:使用Go語言函數實現簡單的圖書管理系統

如何使用PHP開發簡單的檔案管理功能 如何使用PHP開發簡單的檔案管理功能 Sep 20, 2023 pm 01:09 PM

如何使用PHP開發簡單的檔案管理功能

如何透過C++寫一個簡單的音樂推薦系統? 如何透過C++寫一個簡單的音樂推薦系統? Nov 03, 2023 pm 06:45 PM

如何透過C++寫一個簡單的音樂推薦系統?

五筆打字初學者怎麼練-五筆輸入法打字練習 五筆打字初學者怎麼練-五筆輸入法打字練習 Mar 18, 2024 pm 06:30 PM

五筆打字初學者怎麼練-五筆輸入法打字練習

See all articles