老图搬砖day08——c3p0&Java Web

谁说我不能喝 提交于 2019-12-06 23:01:32

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页面如下
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!