• 技术文章 >数据库 >mysql教程

    Servlet+JDBC+MySQL简单web练习

    2016-06-07 15:28:03原创561

    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 {

    //定义成员变量
    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("");
        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()); } }

    }

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

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:Redis数据持久化机制AOF原理分析一 下一篇:saiku应用的调试
    大前端线上培训班

    相关文章推荐

    • 浅析MySQL存储引擎中的索引• 教你在Mac下如何快速重置mysql root密码• 在Mac下进行MySQL环境搭建的两种方法• 详解MYSQL中COLLATE的作用及各种COLLATE区别• 一文讲解Mysql怎么根据ID值的顺序返回结果

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网