1.新建web工程
2.下载驱动包 :
在Maven 中央仓库查找依赖代码:
<!-- https://mvnrepository.com/artifact/com.oracle/ojdbc6 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>12.1.0.1-atlassian-hosted</version>
</dependency>
添加到pom.xml依赖中,maven自动下载驱动包(刷新maven即可)
3.添加工具类,或者编写工具类(DBUIL)和db资源包
driverclass=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
name=scott
pass=123456
import java.sql.*;
import java.util.ResourceBundle;
public class DBIILE {
public static final String driverclass;
public static final String name;
public static final String url;
public static final String pass;
static{
ResourceBundle rb=ResourceBundle.getBundle("db");
driverclass=rb.getString("driverclass");
name=rb.getString("name");
url=rb.getString("url");
pass=rb.getString("pass");
try {
Class.forName(driverclass);//加载数据驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection open() throws SQLException {
Connection conn= DriverManager.getConnection(url,name,pass);//获得数据库连接
return conn;
}
public static void close(Connection conn,PreparedStatement pst){
close(null,conn,pst);
}
public static void close(ResultSet rs, Connection conn, PreparedStatement pst){
if(rs!=null){
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(pst!=null){
try {
pst.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
4.编写list 类来实现数据库连接以及用户表信息在页面输入
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@WebServlet("/list")
public class list implements Servlet {
//获得数据库连接
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
String sql="select *from t_user";//查找数据库中t_user表的sql语句
try( Connection conn=DBIILE.open();
//PrepareStatement 对象来执行sql语句
PreparedStatement pst=conn.prepareStatement(sql)) {
ResultSet rs = pst.executeQuery();//接收sql语句返回的结果
servletResponse.setContentType("text/html; charset=utf-8");//修改页面响应的编码格式和编码结果
PrintWriter out=servletResponse.getWriter();//out来接收响应并打印到页面
out.println("<html><head><title>用户信息</title></head><body>");
out.println("<table border='1' width='80%'>");
out.println("<tr><td>ID</td><td>账号</td><td>密码</td><td>姓名</td></tr>");
while(rs.next()){
out.println("<tr><td>"+rs.getInt("ID")+
"</td><td>"+rs.getString("name")+"" +
"</td><td>"+rs.getString("pass")+
"</td><td>"+rs.getString("nickname")+"</td></tr>");
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}