1.导包

 

2.找到sever里的sever.xml,配置静态数据库连接池

      <Context docBase="bookstore" path="/bookstore" reloadable="true" source="org.eclipse.jst.jee.server:bookstore">
<Resource name="jdbc/bookstore" auth="Container" type="javax.sql.DataSource" maxActive="100"
maxIdle="30" maxWait="10000" username="root" password="caiyishuai"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/bookstore?autoReconnect=true" />
</Context>

3.再在web.xml里引用数据库连接池

web.xml中的

 

和sever.xml中的

要保持一致

4.在要调用数据库的地方改为

 别忘了导包

<%@ page language="java" contentType="text/html; charset=UTF-8"
import="java.util.*,java.text.*,com.xx17.cys.entity.*"
import="java.sql.*,org.apache.commons.dbcp2.*"
import="javax.naming.*,javax.sql.*" pageEncoding="UTF-8"%>
<%
//List<News> newslist = new ArrayList<News>();
List newslist = new ArrayList();
News news = new News(1,"今天是星期四","gfsggfsg",201,"2019-3-13",0);
newslist.add(news);
news = new News(2,"又可以上web课啦!","gfsggfshgffdhg",104,"2019-3-14",0);
newslist.add(news);
String newstitle[]={"今天是星期四!","又可以上web课啦!","下午公休,嘿嘿!","人生啊,如此艰难!","现在是上午9点20分"};
String newsdate[]={"2019-3-13","2019-3-14","2019-3-15","2019-3-16","2019-3-17"}; /*数据库连接池*/
/*BasicDataSource ds = new BasicDataSource();
String url="jdbc:mysql://localhost:3306/bookstore?user=root&password=caiyishuai";
url += "&useUnicode=true&characterEncoding=utf8";
ds.setDriverClassName(url);
ds.setUsername("root");
ds.setPassword("caiyishuai");
ds.setMaxTotal(30);
ds.setMinIdle(5);
ds.setMaxWaitMillis(10000);
ds.setRemoveAbandonedTimeout(100);
ds.setRemoveAbandonedOnBorrow(true);
ds.setRemoveAbandonedOnMaintenance(true);
*/ /*使用静态数据库连接池*/
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/bookstore"); //建立连接池连接
Connection conn = ds.getConnection(); /*Class.forName("com.mysql.jdbc.Driver"); ////驱动程序名
String url = "jdbc:mysql://localhost:3306/bookstore"; //数据库名
String username = "root"; //数据库用户名
String password = "caiyishuai"; //数据库用户密码
Connection conn = DriverManager.getConnection(url, username, password); //连接状态*/ if(conn != null){
out.print("数据库连接成功!");
Statement stmt = conn.createStatement();
//创建结果集合,集合与表的结构类似
ResultSet rs = stmt.executeQuery("select * from t_news");
//rs.last
//out.println("记录数:"+rs.getRow());
while(rs.next()){
//System.out.println("rs"+rs);
news = new News(1,rs.getString(1),rs.getString(2),rs.getInt(4),rs.getString(3),1);
newslist.add(news);
}
} /*建立连接
Connection conn = DriverManager.getConnection(url);
创建语句环境
Statement stmt = conn.createStatement();
创建结果集合,集合与表的结构类似
ResultSet rs = stmt.executeQuery("select * from t_news");
rs.last
out.println("记录数:"+rs.getRow());
Class.forName("com.mysql.jdbc.Driver").newInstance();
com.mysql.jdbc.Driver d = new com.mysql.jdbc.Driver
String url="jdbc:mysql://localhost:3306/bookstore?"
+"user=root&password=caiyishuai&useUnicode=true&characterEncoding=utf8";
List<News> newslist = new ArrayList<News>();
News news;
while(rs.next()){
news = new News(1,rs.getString(1),rs.getString(2),rs.getInt(4),rs.getString(3),1);
newslist.add(news);
}*/
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>新闻列表</title>
</head>
<body>
<link href="css/style.css" rel="stylesheet" type="text/css"/>
<jsp:include page="head.jsp?col=1"></jsp:include>
<div id="main" class="layout">
<%
SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日");
java.util.Date today = new java.util.Date();
out.print(formatter.format(today));
//out.print(today.toLocaleString());
//int id =Integer.parseInt(str);
%>
<table width="1000" border="1">
<tr><th>序号</th><th>标题</th><th>日期</th><th>点击</th></tr>
<% String[] color={"red","orange","yellow","green","blue","purple","pink","black","brown"};%>
<% for(int font_size=1;font_size<7;font_size++) {%>
<br>
<font color="<%= color[font_size-1] %>" size="<%= font_size %>">
智慧的帅帅,么么哒!
</font>
<%}
News n;
%> <% for(int i=0;i<newslist.size();i++){
n=(News)newslist.get(i);%>
<tr>
<td><% out.print(i+1);%></td>
<td><a href="news.jsp?nid=<%=n.getNews_id()%>"><%=n.getNews_title()%></a></td>
<td><%=n.getNews_date()%></td>
<td><%=n.getNews_read()%></td>
</tr>
<%} %> <tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
</table>
</div>
<%@ include file="foot.jsp" %>
</body>
</html>

Web jsp开发学习——数据库的另一种连接方式(配置静态数据库连接池)的更多相关文章

  1. Web jsp开发学习——连接数据库,数据的增加和删除

    1.首先在newlist界面增加三个图表,带上事件 newlist.jsp <%@ page language="java" contentType="text/h ...

  2. Web jsp开发学习——Servlet提交表单时用法

     实现提交表单以后判断输入的信息是否符合条件    若符合条件   先新建servlet  Sevlet的两种声明方式,二选一即可  再到web.xml里注册   register.jsp就是表单的界 ...

  3. Web jsp开发学习——终极解决jsp中request和response中文乱码的问题(加个过滤器)

    中文乱码真的很烦人的.而且每次都要写,可麻烦了,而且有时候写了还不一定管用,所以我们可以试试过滤器 1.每个jsp头上当然要写上utf8啦 <%@ page language="jav ...

  4. Web jsp开发学习——网上直播聊天室的简单开发

    整个界面为chat.jsp: 如果用户没有登录,就不能进行聊天. 为将发言的句子传到页面上,要设置一个<iframe></iframe>虚拟框架,将allmessage.jsp ...

  5. Web jsp开发学习——前端后台传参方法

    一.前端传后台: 1.1表单数据的传递   前端的表单里定义名字name   后台通过名字获取输入的值         1.2页面点击了哪个按钮传递 登录注销的另一种方式   点击登录的地方设置参数 ...

  6. Web jsp开发学习——实现页面跳转和传参

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti ...

  7. Web jsp开发学习——点击菜单页面切换

      两个网页使用同一个head,在点击“首页”后,head的“首页”变成绿色,点击“新闻”后,head的“新闻”变成绿色,head的“首页”恢复原来的颜色   head.jsp <%@ page ...

  8. Web jsp开发学习——新建一个项目

    然后 index.jsp编辑   新建一个servlet             准备发布      发布

  9. Web jsp开发学习——dbcp jsp连接MySQL出现中文乱码解决

    开发过程中,通过dbcp.properties连接MySQL数据库,向数据库中插入中文字符时,出现乱码情况. 通过查阅资料,发现出现乱码的原因:MySQL数据库使用的是UTF-8编码,而dbcp.pr ...

随机推荐

  1. Nginx负载均衡和HTTPS配置及集群搭建

    Nginx的高可用(HA)配置 1.高可用配置结构(画图说明) 2.KeepAlived的安装和配置 1.安装 yum install keepalived 2.keepalived.conf配置文件 ...

  2. Java常用类(一)Math类和Random类

    一.Math类 Math类中有一些常用的数学函数,比较简单,不进行详细解释,仅举例说明: 1.绝对值和取整 import java.lang.Math; public class Mat { publ ...

  3. DevExpress Blazor组件全新来袭!增强Data Grid、TreeView API

    点击获取DevExpress v19.1.7最新完整版试用下载 DevExpress UI for Blazor即将在最新的v19.1.8中可用,此次更新发布包括DevExpress Blazor组件 ...

  4. php+memcache实现的网站在线人数统计

    <?php $mc = new Memcache (); // 连接memcache $mc->connect ( ); // 获取 在线用户 IP 和 在线时间数据 $online_me ...

  5. Python3之Requests模块详解

    # 导入 Request模块 # 若本机无自带Request模块,可自行下载或者使用pip进行安装 # python版本Python3 import requests import json #### ...

  6. @Valid与@Validated

    Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR- ...

  7. 5 LAMP配置管理:模块(state、file、pkg、service)、jinja模板、job管理、redis主从

    1. 配置管理:state和file https://docs.saltstack.com/en/latest/topics/states/index.html Full list of states ...

  8. cookie生命周期expires 时间过期,但是cookie没有被浏览器清理的问题

    cookie生命周期expires 时间过期,但是cookie没有被浏览器清理的问题 今天用nodejs起了一个web服务,使用art-template模板引擎渲染出来的页面,在这里我设置了一个coo ...

  9. 强制数据类型转换之Number类型

    ㈠强制类型转换 1.定义:指将一个数据类型强制转换为其他的数据类型    类型转换主要指,将其他的数据类型,转换为String ,Number, Boolean ㈡将其他的数据类型转换为Number ...

  10. jQuery.getScript(url, [callback])

    jQuery.getScript(url, [callback]) 概述 通过 HTTP GET 请求载入并执行一个 JavaScript 文件.大理石平台精度等级 jQuery 1.2 版本之前,g ...