当前位置:Gxlcms > mysql > Servlet+JDBC+MySQL简单web练习

Servlet+JDBC+MySQL简单web练习

时间:2021-07-01 10:21:17 帮助过:37人阅读

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 {

  1. <code>//定义成员变量
  2. Connection conn;
  3. ResultSet rs;
  4. public Myservlet() {
  5. super();
  6. }
  7. //初始化函数,连接数据库
  8. public void init() throws ServletException {
  9. String url="jdbc:mysql://localhost:3306/school";
  10. String user="root";
  11. String pwd="root";
  12. try{
  13. Class.forName("com.mysql.jdbc.Driver");
  14. //加载驱动,这一句也可写为:Class.forName("com.mysql.jdbc.Driver").newInstance();
  15. //建立到MySQL的连接
  16. conn = DriverManager.getConnection(url,user, pwd);
  17. }catch(Exception ex){
  18. System.out.println("Error : " + ex.toString());
  19. }
  20. }
  21. //对数据库的操作
  22. public void doGet(HttpServletRequest request, HttpServletResponse response)
  23. throws ServletException, IOException {
  24. //解决中文乱码问题
  25. response.setContentType("text/html;charset=utf-8");//使浏览器默认编码为utf-8
  26. //response.setCharacterEncoding("utf-8");//也可解决中文乱码
  27. PrintWriter out = response.getWriter();
  28. out.println("");
  29. out.println("");
  30. out.println(" <title>A Servlet</title>");
  31. out.println(" ");
  32. try{
  33. //执行SQL语句
  34. Statement stmt = conn.createStatement();//创建语句对象,用以执行sql语言
  35. ResultSet rs = stmt.executeQuery("select * from studentinfo");
  36. //处理结果集
  37. out.println("");
  38. out.println("");
  39. out.println("");
  40. out.println("");
  41. out.println("");
  42. out.println("");
  43. out.println("");
  44. out.println("");
  45. out.println("");
  46. while (rs.next()){
  47. String id=rs.getString("id");
  48. String name=rs.getString("name");
  49. String age=rs.getString("age");
  50. out.println("");
  51. out.println("");
  52. out.println("");
  53. out.println("");
  54. out.println("");
  55. }
  56. out.print("<table width="500;" border="1;" cellspacing="0"><tbody><tr><th>");out.println("学生信息表"); out.println("</th></tr><tr><td>");out.println("学号1");out.println("</td><td>");out.println("姓名");out.println("</td><td>");out.println("年龄");out.println("</td></tr><tr><td>");out.println(id);out.println("</td><td>");out.print(name);out.println("</td><td>");out.println(age);out.println("</td></tr></tbody></table>");
  57. }catch(Exception ex){
  58. System.out.println("Error : " + ex.toString());
  59. }
  60. out.println(" ");
  61. out.println("");
  62. out.flush();
  63. out.close();
  64. }
  65. //释放资源
  66. public void destroy() {
  67. super.destroy();
  68. try{
  69. rs.close();//关闭数据库
  70. conn.close();
  71. }catch(Exception ex){
  72. System.out.println("Error : " + ex.toString());
  73. }
  74. }
  75. </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上。

人气教程排行