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

这篇具有很好参考价值的文章主要介绍了java serverlets使用数据源连接oracle数据库,并执行查询操作代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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使用数据源连接oracle数据库,并执行查询操作代码

 文章来源地址https://www.toymoban.com/news/detail-711564.html

到了这里,关于java serverlets使用数据源连接oracle数据库,并执行查询操作代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot+mybatis实现mysql和oracle多数据源

    在实际项目中很多时候会涉及到多个数据库的访问,或者数据库读写分离的形式。 下面通过使用 Aspect+注解来实现mysql+oracle的多数据源配置(注意:事务一致性未提供) 首先要去oracle官网下载ojdbc的jar包,根据oracle的版本去下载,或者在下载的oracle的jdbc包下的lib里面有,然后

    2024年02月07日
    浏览(60)
  • [前车之鉴] SpringBoot原生使用Hikari数据连接池升级到动态多数据源的深坑解决方案 & RocketMQ吞掉异常问题排查

    当前业务场景我们使用原生SpringBoot整合Hikari数据源连接池提供服务,但是近期业务迭代需要使用动态多数据源,很自然想到dynamic-source,结果一系列惨案离奇发生。。。 原生SpringBoot整合HikariCp数据源连接池配置【这个是没问题的配置】 而升级后的动态多数据源配置如下:【

    2024年02月01日
    浏览(53)
  • 若依分离版——解决配置双数据源oracle,mysql分页错误问题

    1. 按照若依的手册配置双数据源mysql,oracle   2. 在service指定 数据源 @DataSource(value = DataSourceType.MASTER) 或者@DataSource(value = DataSourceType.SLAVE) 3. 发现出现使用分页的情况下报错,不使用分页时正常。 4.  最后找到解决办法,是application.yml文件的pagehelper分页配置有误,正确配置如

    2024年02月15日
    浏览(46)
  • Nacos2.2.0多数据源适配oracle12C-修改Nacos源码

    从2.2.0版本开始,可通过SPI机制注入多数据源实现插件,并在引入对应数据源实现后,便可在Nacos启动时通过读取application.properties配置文件中spring.datasource.platform配置项选择加载对应多数据源插件.本文档详细介绍一个多数据源插件如何实现以及如何使其生效。 Nacos整体介绍可看N

    2023年04月08日
    浏览(50)
  • springboot多数据源支持自定义连接池

    springboot 多数据源网上的文章很多,但大多都是互相抄袭,虽然可以实现多数据源的效果,但都是使用的默认的连接池,如果盲目使用可能会导致自定义的连接池参数没生效从而引发数据库连接问题。下面是参考官方文档多数据源支持自定义连接池的配置。 https://docs.spring.i

    2024年01月20日
    浏览(48)
  • 【精·超详细】SpringBoot 配置多个数据源(连接多个数据库)

    目录 1.项目路径 2.pom.xml  引入依赖: 3.application.yml配置文件: 4.两个entity类 5.Conroller 6.两个Service以及两个ServiceImpl  7.两个Mapper及两个Mapper.xml  8.运行Application  然后在浏览器请求 9.查看两个数据库是否有新增数据           总结: 1.pom.xml 引入依赖: dynamic-datasource-spring-b

    2024年02月12日
    浏览(66)
  • ElasticSearch多数据源配置,连接多个ES集群

    开发时遇到需要连接多个ES的需求,类似于连接多个MySQL数据库一样。 Elasticsearch Java API有四类client连接方式 TransportClient RestClient Jest Spring Data Elasticsearch         其中TransportClient和RestClient是Elasticsearch原生的api。TransportClient可以支持2.x,5.x版本,TransportClient将会在Elasticsea

    2023年04月14日
    浏览(48)
  • Druid作为数据源(连接池、过滤器、日志)

    name :数据源名称如果存在多个数据源,监控的时候可以通过名字来区分开来 如果没有配置,将会生成一个名字,格式是\\\"DataSource-\\\"+System.identityHashCode(this) jdbcUrl :连接数据库的 url,不同数据库不一样 username :连接数据库的用户名 password :连接数据库的密码 driverClassName :数

    2024年01月18日
    浏览(50)
  • 「数据库、数据库连接池、数据源」这些概念你真的理解了吗?

    我学习的过程中,对于连接池和数据源分得不是很清楚,而且我发现有的人将数据库等同于数据源,或者将数据源等同于连接池,实际上这些说法并不准确。 在某次工作中,同事 A 说道,这个数据源不行,那么换一个数据源就可以了,结果我看他操作,原来是改写了配置中的

    2023年04月21日
    浏览(65)
  • 【文末送书】全栈开发流程——后端连接数据源(二)

    「作者主页」 :雪碧有白泡泡 「个人网站」 :雪碧的个人网站 「推荐专栏」 : ★ java一站式服务 ★ ★ React从入门到精通 ★ ★ 前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升 ★ ★ 从0到英雄,vue成神之路 ★ ★ 解决算法,一个专栏就够了 ★ ★

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包