前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Servlet和JDBC如何配合使用请给一个例子?

Servlet和JDBC如何配合使用请给一个例子?

作者头像
马克java社区
修改于 2021-07-09 02:49:50
修改于 2021-07-09 02:49:50
4360
举报
文章被收录于专栏:java大数据java大数据

1.Servlet与JDBC:

马克-to-win:回去参考我java部分的jdbc部分的知识。(我把那里的例子搬到了这里)

在那里,我们提到最实用的单态模式的数据库连接池技术。这里需要注意的是,对于每个客户,tomcat都会用一个Servlet线程去应答。为了做到线程安全,在获取连接的方法上

getConnection(),应该加上Synchronized的关键字。如果对这部分知识感到困惑,

可以参考我的JDBC部分知识。另外既然这个项目是Web项目,对于导包我也要额外提一句。

对于web项目,我们必须拷贝mysql-connector-java-3.1

.jar到web\lib目录下。

例:4.1.1:

package com;

import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource;

import java.sql.*;

import javax.sql.*;

public class DatabaseConn {

static private MysqlConnectionPoolDataSource ds;

private DatabaseConn() {

ds = new MysqlConnectionPoolDataSource();

ds.setURL("jdbc:mysql://localhost:3306/test");

ds.setUser("root");

ds.setPassword("1234");

}

public synchronized static Connection getConnection() throws Exception {

if (ds == null) {

/*DatabaseConn的目的是让ds有值,和con无关*/

new DatabaseConn();

}

Connection con = null;

con = ds.getConnection();

return con;

}

}

测试servlet:

package com;

import java.io.IOException;

import java.sql.*;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class ServletHello1 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

Connection con=null;

ResultSet rs=null;

Statement stmt=null;

try {

/* MysqlConnectionPoolDataSource ds is always in the memory once it is created becasue it is static..*/

con = DatabaseConn.getConnection();

stmt = con.createStatement();

rs = stmt.executeQuery("select * from login");

while (rs.next()) {

System.out.println(rs.getString("id"));

System.out.println(rs.getString("name"));

更多请看:https://blog.csdn.net/qq_44594371/article/details/103166072

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
java当中JDBC当中请给出一个DataSource的单态模式(SingleTon)HelloWorld例子
咱们还接着上面的例子来说。1万个人要看书。千万确保要只建立一个图书馆。要是一不留神,建了两个或三个图书馆,那可就亏大发了。对于数据源来讲,最重要的是要保证在内存当中只有一个实例。如果存在多个实例,那就亏大了。
马克java社区
2021/05/12
4020
java当中JDBC当中请给出一个SQLServer DataSource and SingleTon例子
public class SqlserverSingletonDataSource {
马克java社区
2021/05/12
4110
给出一个n-tier(层)架构实例,HelloWord例子?
马克-to-win:我们把上节的例1.2.1改成一个n-tier的例子。虽然例子很粗糙,但说明理论n-tier理论足够了。在公司还要考虑一些其他问题,比如序列化,事务等等。
马克java社区
2021/07/14
2460
java中JDBC当中请给出一个DataSource的HelloWorld例子
马克-to-win:在前面 的jdbc的Helloworld程序当中,我们用DriverManager来获取数据库连接。事实上通过这种方法获取数据库连接,是比较耗费计算机资 源的。当然了,这也是没有办法的事儿。就像我们买贵书必须花大价钱一样。原因是书本身就那么贵,也确实没有办法。但如果有1万个学生看书,我们能不能建立 一个小型图书馆?我们只需买100本书。而不是像没有图书馆的情况下,共买1万本书,人手一本。大家毕了业以后,每个人都销毁自己的书。这就造成了极大的 浪费。但要注意的是,每个人看完书以后,把书要还回图书馆。数据源就像这里的图书馆。里面开始也是费劲巴拉的建立了一堆连接。之后谁用谁就可以,获取一个 连接。但是用完以后,并不是销毁连接,而是把连接简单的返还给数据源,以供别的用户再用(在我的参考目录下,有个连接池实现程序,看看它的close方法,ds.getConnection返回的Connection的实例和前面jdbc helloworld的Connection实例不一样。因为Connection只是一个接口,所以每次的实例的实现都是不一样的。)。你可以想象,如果有很多客户,都需要用连接的话,数据源技术,无 疑是一个非常好的选择。在互联网的环境下,成千上万的用户,从不同的机器上,访问一台机器,从它的数据库当中获取信息。在这种情况下,数据源发挥了极大的 优势。如果用DriverManager连接完一次,销毁一次连接的话,一定是一场噩梦。
马克java社区
2021/05/12
4880
请给出一个MVC模式下用Servlet和jsp分页的HelloWord实际的例子?
马克-to-win:像淘宝百度这样的类似网页,我们用了很多很多。基本上就 是输入查询条件以后,符合查询条件的结果可能会成千上万。我们不能一下子把所有这些结果都列出来,只能一次显示一页。当用户按下一页的时候,才会把下一页 的内容列出来。这样不至于内存崩溃。要达到这样的效果,要用到分页技术。分页技术的核心思想就是把所有的结果放在一个ArrayList的当中(在我们的 例子当中就是ArrayList ret)。马克-to-win:这个ArrayList连同相关参数比如一共有多少行(totalNumberOfRowsInDB),每页有多少行(pageSize),当 前显示是第几页(currentPageNumber),一共有多少页(totalNumberOfPages),都放在Session当中。马克-to -win:返回到jsp后,再从Session当中取出所有这些数据,把它显示出来。注意这里数据库的每行数据都对应一个RegisterRow实例。把 所有这些实例都放在ArrayList当中。如果你觉得全部把结果放在Session当中浪费空间的话,你甚至一次只放5页,当用户访问第5页的时候,你 就再一次访问数据库,把数据放在Session当中。算法由你自己定义,据情况而定。当然,为简单起见,我们的例子是把所有符合条件的数据都给取出来。
马克java社区
2021/07/14
3720
Servlet 数据库访问
现在调用这个 Servlet,输入链接:http://localhost:8080/Tomcat部署的项目名/DatabaseAccess,将显示以下响应结果:
久绊A
2023/12/23
2810
Java Web 网络留言板2 JDBC数据源 (连接池技术)
addMessage.htm 代码; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="/guestbook2/js/validation-framework.js"></script> <script type="text/javascript" src="/guestbook2/fckeditor/fckeditor
Hongten
2018/09/13
5150
JavaWeb项目实现SQL Server的增删改查登录(大作业)
链接:https://pan.baidu.com/s/1H23n_urB1iF8rlqQKE5JdA  提取码:oiv9 
干掉芹菜
2022/11/19
1.7K1
JavaWeb项目实现SQL Server的增删改查登录(大作业)
jsp电子商务购物车之四 数据库存储篇
为了方便用户下次登录,仍然可以看到自己的购物车内容,所以,需要在数据库存储相应的购物车项目,本处增加购物车项表;uid和bid是复合主键。
张哥编程
2024/12/17
1590
jsp电子商务购物车之四 数据库存储篇
mysql5.7的jdbc_JDBC连接mysql5.7简单例子
1,准备jdbc的连接jar包,然后在eclipse中创建一个java项目(不是web项目)。
全栈程序员站长
2022/10/03
2.1K0
Jsp电子商务之七 订单篇2
针对出现多个商品进入到一个订单的问题,已经给予解决了,其中的业务代码还可以继续修改,要继续等待哦。
张哥编程
2024/12/17
1200
javaweb登录注册功能实现 javaweb 登陆注册 入门 mysql数据库交互 web前后台交互 用户管理增删改查 实现登录 注册 登陆 JavaWeb 简单登陆注册「建议收藏」
新增了用户管理功能(对用户的增删改查) 源码下载 下载完源码之后请仔细阅读README.md文件,导入运行步骤和数据库表结构都在里面
全栈程序员站长
2022/09/07
3.9K1
javaweb登录注册功能实现 javaweb 登陆注册 入门 mysql数据库交互 web前后台交互 用户管理增删改查 实现登录 注册 登陆 JavaWeb 简单登陆注册「建议收藏」
JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署
一、使用eclipse初始化一个JSP WEB项目(即:动态WEB项目),步骤如下:
java架构师
2019/05/07
3.4K0
JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署
JavaWeb(三)servlet
Servlet * 什么是Servlet 是运行在web服务器端的Java应用程序,它使用JAVA语言编写,具有Java语言的优点。与Java程序的区别:Servlet对象主要封装了对Http请求的处理,并且他的运行需要Servlet容器的支持。 Servlet实质上就是按Servlet规范编写的Java类,他可以处理Web应用中的相关请求。Servlet是一个标准,由Sun公司定义,具体实现细节由Servlet容器进行实现,如Tomcat,JBoss等。 Servlet和JSP的区别: 1, 角色不同(视
二十三年蝉
2018/02/28
1.2K0
java当中JDBC当中请给出一个sql server的dataSource的helloworld例子
JtdsDataSource ds = new JtdsDataSource();
马克java社区
2021/05/12
4290
Servlet编写网页并与数据库连接
首先要保证电脑已经安装tomcat 和mysql并用myeslipse(esplise)实现
曼路
2018/10/18
3.7K0
Servlet编写网页并与数据库连接
JavaEE 使用 JQuery 完成 ajax & json 数据的传输
JSONobj 需要的同学,需要 mysql 驱动的,我已经上传至 Github,里面也整理了一些我学习会常用到的 jar包 Jar 包下载链接
Gorit
2021/12/08
1.8K0
JavaEE 使用 JQuery 完成 ajax & json 数据的传输
Servlet实现注册登录列表页面及其相互跳转功能
需求 注册页面添加登录链接 登录页面添加注册链接 注册成功跳转到登录页面 注册失败跳转到注册页面 登录成功跳转到用户列表页面 登录失败跳转到登录页面 分析 建库建表 一个连接数据库的DBUtil工具类 一个用户列表的model包 注册,登录,用户列表三个.java代码页面 三个.jsp页面 一个web.xml文件 代码实现 1. 创建DBUtil工具类 增删改查共同代码 package top.gaojc; import java.sql.Connection; import java.sql.Drive
是阿超
2021/10/15
1.9K0
基于IDEA的bs三层架构
1.在大学的老师讲课中,可能会用到myeclipse或者eclipse来进行编译运行。其中的缺点就是要自行去下载开发所需要的一些jar包,要考虑都版本的不同造成的影响,且ORACLE和MYSQL的链接容易出错。而目前为止企业开发基于IDEA编译器开发,maven进行自动导包减去了大量麻烦的操作;(Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,而这里pom.xml文件对于学了一点maven的人来说,就有些熟悉了,怎么通过pom.xml的配置就可以获取到jar包呢?pom.xml配置文件从何而来?等等类似问题我们需要搞清楚,如果需要使用pom.xml来获取jar包,那么首先该项目就必须为maven项目,maven项目可以这样去想,就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能了(通过pom.xml添加jar包)。)
阮键
2019/08/07
1.2K0
基于IDEA的bs三层架构
完整的java项目_手把手搭建一个完整的javaweb项目
本案例使用Servlet+jsp制作,用MyEclipse和Mysql数据库进行搭建,详细介绍了搭建过程及知识点。
全栈程序员站长
2022/09/08
2.4K0
完整的java项目_手把手搭建一个完整的javaweb项目
推荐阅读
相关推荐
java当中JDBC当中请给出一个DataSource的单态模式(SingleTon)HelloWorld例子
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档