WEB(JSP)下的JDBC操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WEB(JSP)下的JDBC操作相关的知识,希望对你有一定的参考价值。
新建Web project名称为MyWebJDBC,在src文件夹下新建com.zss.www的包,并在包里建个java文件:DBConn;
在WebRoot下建立3个jsp文件。
在mysql中建立一个school的库,并在其建立表:information,表里包涵name,class。
DBConn代码如下:
package com.zss.www; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; public class DBConn { private Connection conn=null; private PreparedStatement stmt=null; private ResultSet rs=null; public DBConn(){ try { String driver="com.mysql.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/school"; String user="root"; String password="11"; Class.forName(driver); conn = (Connection) DriverManager.getConnection(url,user,password); System.out.println("-------连接成功------"); } catch(ClassNotFoundException classnotfoundexception) { classnotfoundexception.printStackTrace(); System.err.println("db: " + classnotfoundexception.getMessage()); } catch(SQLException sqlexception) { System.err.println("db.getconn(): " + sqlexception.getMessage()); } } public DBConn(String driver,String url,String user,String password){ try { //driver="com.mysql.jdbc.Driver"; //url="jdbc:mysql://localhost:3306/school"; //user="root"; //password="11"; Class.forName(driver); conn = (Connection) DriverManager.getConnection(url,user,password); System.out.println("-------连接成功------"); } catch(ClassNotFoundException classnotfoundexception) { classnotfoundexception.printStackTrace(); System.err.println("db: " + classnotfoundexception.getMessage()); } catch(SQLException sqlexception) { System.err.println("db.getconn(): " + sqlexception.getMessage()); } } public void doInsert(String sql) { try { stmt = (PreparedStatement)conn.prepareStatement(sql); int i = stmt.executeUpdate(sql); } catch(SQLException sqlexception) { System.err.println("db.executeInset:" + sqlexception.getMessage()); }finally{ } } public void doDelete(String sql) { try { stmt = (PreparedStatement)conn.prepareStatement(sql); int i = stmt.executeUpdate(sql); } catch(SQLException sqlexception) { System.err.println("db.executeDelete:" + sqlexception.getMessage()); } } public void doUpdate(String sql) { try { stmt = (PreparedStatement)conn.prepareStatement(sql); int i = stmt.executeUpdate(sql); } catch(SQLException sqlexception) { System.err.println("db.executeUpdate:" + sqlexception.getMessage()); } } public ResultSet doSelect(String sql) { try { stmt = (PreparedStatement)conn.prepareStatement(sql); rs = stmt.executeQuery(sql); System.out.println("取得结果集"); } catch(SQLException sqlexception) { System.err.println("db.executeQuery: " + sqlexception.getMessage()); } return rs; } public void close(ResultSet rs) throws SQLException, Exception { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } public void close() throws SQLException, Exception { if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } public static void main(String []args) throws Exception { DBConn db=new DBConn(); ResultSet rs=db.doSelect("select * from dbuser where userNAME=‘chenjirong‘"); try { while(rs.next()) { System.out.println(rs.getString(1)); System.out.println(rs.getString(2)); System.out.println(rs.getString(3)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } rs.close(); db.close(); } }
1.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP ‘1.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form name="form1" method="post" action="2.jsp"> <p>name= <label for="textfield"></label> <input type="text" name="myname" id="textfield"> </p> <p>class= <label for="textfield2"></label> <input type="text" name="myclass" id="textfield2"> </p> <p> <input type="submit" name="button" id="button" value="提交"> </p> </form> </body> </html>
2.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <jsp:useBean id="myjdbc01" scope="page" class="com.zss.www.DBConn"/> <% request.setCharacterEncoding("utf-8"); String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; String myname=request.getParameter("myname"); String myclass=request.getParameter("myclass"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP ‘001.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <%=myname%><br> <%=myclass%><br> <% String insertsql="insert into information(name,class) values(‘"+myname+"‘,‘"+myclass+"‘)"; myjdbc01.doInsert(insertsql); myjdbc01.close(); %> </body> </html>
3.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ page import="java.sql.*" %> <%@ page import="com.mysql.jdbc.*" %> <jsp:useBean id="myjdbc01" scope="page" class="com.zss.www.DBConn"/> <% request.setCharacterEncoding("utf-8"); String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP ‘001.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% String sql="select * from information"; ResultSet rs = myjdbc01.doSelect(sql); while (rs.next()) { out.println(rs.getString(1)); out.println(rs.getString(2)); } %> </body> </html>
运行截图如下:
1.jsp:
MySQL下:
独立运行3.jsp:
以上是关于WEB(JSP)下的JDBC操作的主要内容,如果未能解决你的问题,请参考以下文章
jsp项目中连接数据库解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的问题
在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途