老图搬砖day08——c3p0&Java Web

8.1 c3P0连接池

jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒)。连接就会被自动释放,每次新建连接都需要140毫秒左右的时间,而C3P0连接池可以池化连接,随时取用,平均每次取用只需要10-20毫秒。
在我们前一天的系统中,我们使用了多次访问和关闭,如果是一个大型项目,很多客户端并发随机访问数据库的情况,该系统效率低,而使用连接池的效率可以提高。

8.1.1 导入jar包

在这里插入图片描述
创建c3p0文件

<?xml version="1.0" encoding="UTF-8"?>

<c3p0-config>
  <!-- This is my config for mysql-->
  <named-config name="mysql/example">
    <!-- 指定链接数据源的基本属性 --> 
    <property name="user">root</property>
    <property name="password">123456</property>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/demo?useUnicode=true&amp;characterEncoding=UTF8</property> 
    //上一句的demo改成自己的数据库名字
    
    <!-- 若数据库中连接不足时,一次向数据库服务器申请多少个链接 -->
    <property name="acquireIncrement">50</property>
    <!-- 初始化数据库连接池时,连接的个数 -->
    <property name="initialPoolSize">5</property>
    <!-- 数据库连接池中最小连接数 -->
    <property name="minPoolSize">5</property>
    <!-- 数据库连接池中最大连接数 -->
    <property name="maxPoolSize">1000</property>
    <!-- c3p0数据库连接池中可以维护的Statement对象的个数 -->
    <property name="maxStatements">20</property>
    <!-- 每个连接同时可以使用的Statement对象的个数 --> 
    <property name="maxStatementsPerConnection">5</property>
  </named-config>
</c3p0-config>

package sy.demo.util;

import java.sql.*;

import com.mchange.v2.c3p0.ComboPooledDataSource;

//使用连接池进行对象管理
public class CopyOfDBUtil {
	static ComboPooledDataSource cpds = null;
	
	public static Connection getConnection(){
		
		try {
			if(cpds == null){
				//初始化cpds
				cpds = new ComboPooledDataSource("mysql/example");
				
			}
			//从连接池中获取现有的连接
			return cpds.getConnection();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public static void closeAll(ResultSet rs,Statement stmt,PreparedStatement pstmt,Connection conn){
		
		try {
			if(rs != null){
				rs.close();
			} 
			
			if(stmt != null){
				stmt.close();
			} 
			if(pstmt != null){
				stmt.close();
			}
			if(conn != null){
				conn.close();  //将当前连接对象返回到连接池,供下一次调用
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args){
		Connection conn = CopyOfDBUtil.getConnection();
		System.out.println(conn != null ? "连接成功!" : "连接失败!");
	}
	

}

在这里插入图片描述

8.2 Web项目基础

8.2.1 B/S相对于C/S的优势

  1. B/S ——Browser/Server 浏览器/服务器模型
    在B/S结构下,程序完全放在应用服务器[中间件,Application Server]上,并通过应用服务器同数据库服务器进行通信。在客户机上无需安装任何文件,系统界面是通过浏览器来展现的。
  2. C/S—Client/Server 客户端/服务器模型
    将任务合理分配在Client端和Server端,降低了系统的通信开销,可以充分利用两端硬件环境的优势。
  3. B/S 相对于C/S的优势
    只需要开发一套软件
    更新维护方便
    受众群体会较于C/S广泛
    在这里插入图片描述
    在这里插入图片描述

8.2.3 动态网站和静态网站

  1. 动态网站 –简单点说,就是有后台服务器程序的支持.
    动态网页是指在服务器端运行的程序或者网页,它们会随不同客户、不同时间,返回不同的网页。动态网页中的内容可自动生成,当不同的时间、不同的人访问同一网址时会产生不同的页面效果。

  2. 静态网页的内容是固定的,当我们修改那些静态网页时,都必须要通过专用的网页制作工具,比如Dreamweaver、Frontpage等,而且只要修改了网页中的一个字符或一个图片,都要重新上传一次覆盖原来的页面。

8.3 Tomcat的安装与配置

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器Container,按照Sun Microsystems

8.3.1 安装

分为两种版本:

  1. 安装版 [过程中涉及到以下信息的指定]
    |- JDK安装目录的指定
    |- 指定Tomcat服务器 端口号 port – 8080 默认80 http
    |- 指定后台服务器管理员用户名和密码
    |- windows服务名称
    32bit 和 64bit
    JDK 5.0 + Tomcat 5.x
    JDK 6.0 + Tomcat 6.x
    JDK 7.0 + Tomcat 7.x
  2. 解压缩版 [全英文路径]
    1> 添加环境变量JAVA_HOME JDK安装路径
    C:\Program Files (x86)\Java\jdk1.6.0_07
    2> 安装windows服务
    3> 启动tomcat服务
    4> 打开浏览器运行tomcat服务器首页
    http://127.0.0.1:8080/

win10需要对Apache文件夹右键——属性——安全——编辑——Users——完全控制——√

打开文件夹
C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin
启动Tomcat7w.exe
在浏览器中输入localhost:8080
点击manager app,输入管理员用户名和密码
在这里插入图片描述

8.3.2 Tomcat目录介绍

  1. /bin 存放tomcat可执行的工具程序
  2. /conf 存放tomcat的配置文件信息
  3. /lib 存放tomcat服务器执行时必要的jar文件
  4. /log 保存tomcat服务器运行期间的日志信息
  5. /temp 临时目录
  6. /webapps  web applications 保存当前tomcat中运行的web应用程序.
  7. /work 临时目录 用以產生由JSP編譯出的Servlet的.java和.class文件
    Jsp  java  class

8.3.3 tomcat的常用配置

  1. 配置端口 conf/server.xml:
    IIS asp web服务器
    http  默认连接服务器端80端口
<Connector port="80" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

  1. 首页文件的配置Conf/web.xml:
 <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

  1. 显示web应用的文件列表功能:Conf/web.xml:
<init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
 </init-param>

  1. 配置后台管理员用户名与密码 conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager"/>
</tomcat-users>

8.4 Java Web项目开发过程

8.4.1 创建一个Web项目

Web网站根目录
|-静态资源文件
|- /WEB-INF 保存了当前web项目相关信息 [ROOT/WEB-INF]
|- web.xml 当前web项目的核心配置文件

8.4.2 设计Web项目的目录结构

静态资源文件

8.4.3 编写Web项目的代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>"> <!-- 根路径  -->
    
    <title>My JSP 'index.jsp' starting page</title>
    <!-- index.jsp 可以修改,但是要和web.xml中的名字保持一致,可以是a.jsp之类的
-->
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    This is my JSP page. <br>
    <%
    	Date d = new Date();
        out.println("现在的时间:"+d);
    	
    %>
  </body>
</html>

8.4.4 部署Web项目

deploy 将本地站点项目 放到Web容器中/webapps
见8,5

8.4.5 运行Web项目

http://localhost:8080/Web01/

8.5 Tomcat在MyEclipse中的整合和部署

8.5.1 整合

在这里插入图片描述
点击图中按钮——Configure Server,如下图,选中Enable,
分别添加三个路径

C:\Program Files\Apache Software Foundation\Tomcat 7.0

C:\Program Files\Apache Software Foundation\Tomcat 7.0

C:\Program Files\Apache Software Foundation\Tomcat 7.0\temp

在这里插入图片描述
同时修改jdk
在这里插入图片描述
确定之后,在这里插入图片描述
里出现新建的Tomcat 7.x,启动,注意,在这里启动之前必须要把bin文件夹中exe关闭
没有报错即整合成功
在这里插入图片描述

8.5.2 部署

点击这个在这里插入图片描述
出现界面如下
在这里插入图片描述
出现Successfully deployed,部署成功
在这里插入图片描述
manager app界面中多出Web01,
在这里插入图片描述
Web01页面如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值