首页 > 数据库 >java serverlets使用数据源连接oracle数据库,并执行查询操作代码

java serverlets使用数据源连接oracle数据库,并执行查询操作代码

时间:2023-10-17 10:35:04浏览次数:32  
标签:java serverlets rs 数据源 request println import out

package chap03;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.util.*;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;


/**
* Servlet implementation class GetPersonData
*/
@WebServlet("/GetPersonData")
public class GetPersonData extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public GetPersonData() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// response.getWriter().append("Served at: ").append(request.getContextPath());
String personName, personPwd;
request.setCharacterEncoding("gb2312");
personName = request.getParameter("PersonName").trim();
personPwd = request.getParameter("PersonPwd").trim();
// GetResult rp = new GetResult();
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<head>");
out.println("<title>用户请求信息</title>");
out.println("</head>");
out.println("<BODY>");
out.println("<h3>Request Headers</h3>");
out.println("<table border=1 cellpadding=4 cellspacing=0>");
Enumeration<String> enames = request.getHeaderNames();
while(enames.hasMoreElements()) {
String name = (String)enames.nextElement();
String value = request.getHeader(name);
if((value != null) && (!value.equals(""))){
out.println("<tr>");
out.println("<td>" + name + "</td>");
out.println("<td>" + value + "</td>");
out.println("</tr>");
}
}
out.println("</table>");
out.println("<BR>");

Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try{
// Class.forName("oracle.jdbc.driver.OracleDriver");
// conn = DriverManager.getConnection(rp.getOracle_url(), rp.getOracle_user(), rp.getOracle_pwd());
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoraclepool");
conn = ds.getConnection();
if(!conn.isClosed()){
System.out.println("�ѳɹ�����ora12c");
}
String sql = "select * from user_list where user_name = ? and user_password = ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, personName);
stmt.setString(2, personPwd);
rs = stmt.executeQuery();
if(rs.next()){
out.println("*******************************************************");
out.println("<BR>");
out.println("UserId:" + rs.getString(1) + " UserName:" + rs.getString(2) + " UserPwd:" + rs.getString(3));
out.println("<BR>");
out.println("*******************************************************");
out.println("<BR>");
HttpSession session = request.getSession();
Integer I = new Integer(1);
session.setAttribute("userGrade", I);
session.setAttribute("userName", personName);
// response.sendRedirect("HelloUser.jsp");
stmt.close();
rs.close();
String sqlAll = "select * from user_list";
stmt = conn.prepareStatement(sqlAll);
// stmt.setString(1, personPwd);
rs = stmt.executeQuery();
out.println("<table>");
out.println("<tr>");
out.println("<th>");
out.println("用户ID ");
out.println("</th>");
out.println("<th>");
out.println("用户名 ");
out.println("</th>");
out.println("<th>");
out.println("密 码 ");
out.println("</th>");
out.println("</tr>");
while(rs.next()){

out.println("<tr>");
out.println("<td>");
out.println(rs.getString(1));
out.println("</td>");
out.println("<td>");
out.println(rs.getString(2));
out.println("</td>");
out.println("<td>");
out.println(rs.getString(3));
out.println("</td>");
out.println("</tr>");
}
out.println("</table>");
out.println("<a href=HelloUser.jsp>分页显示</a>");
out.println("<BR>");
out.println("<a href=contactus.html>联系我们</a>");
out.println("<BR>");
}
else
response.sendRedirect("loginfail.jsp");
}catch(NamingException | SQLException e){
e.printStackTrace();
}finally{
try{
if(stmt != null)
stmt.close();
if(conn != null){
conn.close();
System.out.println("已连接ora12c");
}
if(rs != null)
rs.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
out.println("</BODY>");
out.println("</HTML>");
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}

 

标签:java,serverlets,rs,数据源,request,println,import,out
From: https://www.cnblogs.com/Imageroom/p/17769125.html

相关文章

  • 【Java 并发编程】LockSupport
    目录简介方法介绍阻塞和唤醒示例示例1示例2示例3阻塞对象blocker的作用和显式锁、隐式锁等待唤醒的区别简介java.util.concurrent.locks.LockSupport是一个工具类,提供了基本的线程阻塞和唤醒功能,它是创建锁和其他同步组件的基础工具,内部是基于sun.misc.Unsafe类实现的。Lo......
  • Javascript报错:Uncaught TypeError: $(...).slide is not a function
    检查网站的时候,发现网页出现一个报错,UncaughtTypeError:$(...).slideisnotafunction同时,平时没有问题的轮播图,也不轮播了。检查并解决步骤如下: 1.顺着错误提示点过去,发现就是slide函数无法运行。查看相关介绍,表示是jq文件进行了重复引用,且版本不同 如下图相关资料描......
  • Java IO 与 NIO:高效的输入输出操作探究
    引言输入输出(IO)是任何编程语言中的核心概念,而在Java中,IO操作更是应用程序成功运行的基石。随着计算机系统变得越来越复杂,对IO的要求也日益增加。在本文中,我们将探讨JavaIO和非阻塞IO(NIO)的重要性以及如何在Java中实现高效的输入输出操作。传统IO(阻塞IO)传统IO是大多数开发人员熟......
  • 这篇记录一下C#和java中的http request的测试
    1.在c#中,测试http的,一般做一个mock的httpContext,然后里面的request和response都使用mock的,这样设置好后,就可以测试controller2.在java中,因为是httpservelet这些,所以实例化测试创建mock的httprequest这些https://www.baeldung.com/java-httpservletrequest-mock@Testvoid......
  • java学习第一天-安装JDK,运行Hello.java
    卸载JDK删除java的安装目录删除JAVA_HOME删除path下关于java的目录cmd下输入java-version安装JDK华为云JDK下载链接,首先下载JDK下载对应版本安装JDK设置安装路径配置环境变量打开环境变量新建系统变量-->JAVA_HOME配置path变量,新建%JAVA_......
  • Java内部类进行回调的场合和范例
    大力:“内部类回调外部类的实现,是咋回事?”卫琴:“回调实质上是指一个外部类尽管实际上实现了某种功能,但是没有直接提供相应的接口,客户类可以通过这个外部类的内部类的接口来获得这种功能。而这个内部类本身并没有提供真正的实现,仅仅调用外部类的实现。可见,回调充分发挥了内部类具有访......
  • Java 开发环境配置
    转载:https://www.w3cschool.cn/java/java-environment-setup.htmlwindow系统安装java下载JDK 配置环境变量1.右击“我的电脑”→“属性”→“高级系统设置”→“高级”→“环境变量”; 在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"......
  • 企业微信群机器人发送消息(三)java端如何控制
    1.先在群里添加机器人,然后获取机器人的webhook地址:假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa2.有多种方式发送群消息,可以采用curl,也可以采用发送http请求的方式,我这里采用okhttp发送http请求,pom如下:<!--ht......
  • Java语言用static修饰符进行静态导入的作用和语法
    大力:“Java语言引入了静态导入语法(importstatic),有什么作用?”卫琴:“能够在需要经常访问同一个类的方法或成员变量的场合,简化程序代码。”static修饰符静态导入可以简化程序代码下面是一个未使用静态导入的例子:classTestStatic{publicstaticvoidmain(String[]args){S......
  • Java基础语法(超级详细哦!!!)
     1.注释注释是对代码的解释和说明文字。Java中的注释分为三种:单行注释://这是单行注释文字多行注释:/*这是多行注释文字这是多行注释文字这是多行注释文字*/注意:多行注释不能嵌套使用。文档注释(暂时用不到):/**这是多行注释文字这是多行注释文字这是多行注释文字*/使用的技......