在servlet里面操作数据库其实和在普通的操作没有说明太大的区别仅仅是在服务器而已,但还是有一些需要注意的地方,要走了,先把示例代码贴上,其中有原生态操作以及自建jar包操作,其实都是一样的:
package com.test.oracle.test1;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.xuning.sql.tools.OracleTools;
/*
* 下面是servlet操作数据库的方式
* 有原生态的建立操作以及犹如自己自建的额jar包
*/
public class OperOracle extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("utf-8");
String username=request.getParameter("username");
String password=request.getParameter("password");
// out.print("用户名是:"+username);
// out.print("密码是:"+password);
/*System.out.println("用户名是:"+username);
System.out.println("密码是:"+password);
out.print("获取到的用户名:"+username);
out.print("获取到的用户名:"+password);*/
/*
Connection ct=null;
PreparedStatement ps=null;
ResultSet res=null;
int check_count=0;
try {
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL","SCOTT","toor");
ps=ct.prepareStatement("select count(id) cc from student where name='"+username+"' and password='"+password+"'");
res=ps.executeQuery();
while(res.next()){
// out.print("获取到的用户名是:"+res.getString("ename")+"<br/>");
// out.print("获取到的结果"+res.getInt("cc"));
check_count=res.getInt("cc");
}
} catch (Exception e) {
// TODO: handle exception
}finally{
//关闭数据库资源
try {
//应当按谁许一次关闭数据库
ct.close();
ps.close();
res.close();
} catch (SQLException e) {
System.out.println("关闭资源失败");
}
}
*/
int check_count=0;
OracleTools ot=new OracleTools("127.0.0.1", "SCOTT", "toor", "ORCL");
ResultSet res=ot.execute_dql("select count(id) cc from student where name='"+username+"' and password='"+password+"'");
try {
while(res.next()){
check_count=res.getInt("cc");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(check_count==1){
//登录成功
out.print("<h3>登录成功</h3>");
}else{
//登录失败
out.print("<h3>登录失败</h3>");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
doGet(request, response);
}
}