首页 > 分享 > 动态网页项目宠物商店

动态网页项目宠物商店

需要用到的jar包

C3P0连接池 c3p0-0.9.1.2.jar

beanUtils commons-beanutils-1.8.3.jar

dbutils,jdbc的一个集成 commons-dbutils-1.4.jar

logging commons-logging-1.1.1.jar

编写jstl的 jstl.jar

JSP 标准标签库,和jstl.jar 一起使用 standard standard.jar

数据库驱动 mysql-connector-java-8.0.13.jar

1.java

(1)tomcat 服务器的搭建,xml的配置

(2)servlet xml的配置。了解请求和响应

(3)jsp el表达式和jstl的用法

2.mysql

(1)创建数据库

(2)创建表

(3)编写sql语句

3.html

(1)html5的标签

(2)css静态网页的样式

(3)js的一些用法

1.商品查询

需求:有一个页面上面有一个超链接[查询所有商品],点击[查询所有商品],会把数据库中的所有商品信息查询出来,并且展示在表格中

如何在一个servlet中判断执行哪个方法:

doGet(request,response){

//获取到method的值

//判断method

if("findAll".equals(method)){

//走查询方法

}else if("add".equals(method)){

//走添加方法

}

}

//定义查询方法

//定义增加方法

......

步骤分析:

1.创建数据库和表结构

2.创建动态的web项目,创建包结构,导入项目需要的资源

3.创建一个首页,上面有一个'查询所有商品'的超链接,点击链接后向servlet发送请求    ${pageContext.request.contextPath}/findAll?method=findAll

4.servlet的操作

//获取method

//判断当前method是哪个请求(增删改查)

//编写具体请求的方法

//调用service和dao完成查询数据库所有商品的操作

//返回一个list结合

//把当前的list放入request域对象中

//请求转发到jsp解析

2.增加商品

需求:在首页有个[增加商品]的超链接,点击超链接后,能把用户录入的数据保存到数据库

步骤分析:

1.在首页加一个[添加商品]的超链接 ${pageContext.request.contextPath}/pet?method=addUI

2.点击超链接向servlet发送请求 (请求转发到pet.jsp中  防止pet.jsp直接暴露在地址栏中)

3.用户录入数据后点击增加按钮 向servlet发送请求     

${pageContext.request.contextPath}/pet?method=add(有丢失参数的风险)

  解决方式:<input type="hidden" name="method" value="add">

4.在add方法中

//获取表单中的所有数据  map

//创建pet

//把map中的数据拷贝到pet中

//把pid(UUID)和pdate存放到pet中

//调用service和dao完成数据保存操作

//请求转发到查询所有的链接上   /pet?method=findAll

//如果有异常需要请求转发到error.jsp页面

3.修改商品

需求:点击列表中商品后面的修改按钮,就可以对当前商品信息进行修改,

跳转到修改的表单页面(数据是已经填写好的),在此基础上进行修改,点击修改按钮后,在数据库中更新该条数据

4.删除商品

需求:点击列表中商品后面的删除按钮,点击后,弹出[确认删除该条商品吗?]的提示,点击确认,则删除该条商品,点击取消,不执行删除

5.批量删除商品

需求:根据数据前面的复选框选中情况,批量删除选中的数据

步骤分析:

1.拷贝pet  修改web

2.为表头和列表加上复选框,加上删除勾选的按钮

3.使用jquery实现全选全不选的功能

//导入jquery.js文件

//派发单击事件

//获取表头复选框的选中状态

//获取列表中所有复选框对象

//使列表中复选框状态和表头复选框状态保持一致

4.为列表复选框添加name属性和value  外面嵌套一个form表单  在点击删除勾选的时候派发一个click事件,让事件方法拥有提交form表单的功能

5.servlet的操作

//获取前台传递的id数组

//调用service

6.service操作

//开启事物

//遍历数组

//调用dao删除

//提交事物

//出现异常,回滚事物

7.dao操作

//获取QueryRunner对象

//编写sql

//执行sql(手动获取连接)

6.模糊查询

需求:在列表页面有按照名称和关键字查询的两个输入框,输入查询信息后,点击搜索按钮,那么在下面的列表中会显示出符合条件的数据

select * from pet where pname like ? and pdesc like ?

select * from pet where pname like ?

select * from pet where pdesc like ?

select * from pet

StringBuffer sb = new StringBuffer("select * from where 1=1");

//判断输入的搜索项是否为“”

if(name!=""){

sb.append( and pname like ?)

}

if(kw!=""){

sb.append( and pdesc like ?)

}

首页

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<style type="text/css">

#h{

margin-top:0px;

background-color: silver;

font-style: italic;

}

#id1{

float: left;

}

#id2{

margin-top:80px;

float: left;

}

#img2{

margin-top: 80px;

}

</style>

</head>

<body background="${pageContext.request.contextPath}/pet/999.jpg">

<h1 id="h" align="center">欢迎来到宠物商店</h1>

<img width="25px" height="25px" src="${pageContext.request.contextPath}/pet/666.jpg">

<a id="id1" href="${pageContext.request.contextPath}/pet?method=findAll">

<input height="100px" type="button" value="查询所有宠物" >

</a><br>

<img id="img2" width="25px" height="25px" src="${pageContext.request.contextPath}/pet/666.jpg">

<a id="id2" href="${pageContext.request.contextPath}/pet?method=UUID">

<input width: 100px; height="100px" type="button" value="添加新的宠物" >

</a>

</body>

</html>

list.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.11.0.min.js"></script>

<style type="text/css">

a{font-size: 13px;

}

</style>

</head>

<body background="${pageContext.request.contextPath}/pet/999.jpg">

<h2 align="center">宠物列表</h2>

<table border="1px" align="center" id="pet">

<tr align="right">

<td colspan="9" align="center">

<form action="${pageContext.request.contextPath}/pet" method="post">

<input type="hidden" name="method" value="search">

名字:<input type="text" name="name" value="${name}">

品种:<input type="text" name="kw" value="${kw}">

<button type="submit">搜索</button>

<a id="id2" href="${pageContext.request.contextPath}/index.jsp">

<input width: 100px; height="100px" type="button" value="返回主页" >

</a>

</form>

</td>

</tr>

<tr>

<th width="4%"><input type="button" value="删除勾选" id="btn" ><br><input type="checkbox" id="thId"><a>全选</a></th>

<th width="8%">宠物图片</th>

<th width="8%">宠物id</th>

<th width="8%">宠物昵称</th>

<th width="8%">宠物种类</th>

<th width="8%">宠物价格</th>

<th width="8%">到店时间</th>

<th width="8%">宠物描述</th>

<th width="8%">操作</th>

</tr>

<c:if test="${empty list}">

<tr>

<td colspan="9">暂无商品</td>

</tr>

</c:if>

<c:if test="${not empty list}">

<form id="formId" action="${pageContext.request.contextPath}/pet" method="post">

<input type="hidden" name="method" value="delCheck">

<c:forEach items="${list}" var="pet">

<tr align="center">

<td><input type="checkbox" name="id" value="${pet.pid}"></td>

<td height="100px"><img width="100%" height="100%" src="${pageContext.request.contextPath}/${pet.pimage}" /></td>

<td >${pet.pid}</td>

<td >${pet.pname}</td>

<td >${pet.ptype}</td>

<td >${pet.price}</td>

<td >${pet.pdate}</td>

<td >${pet.pdesc}</td>

<td>

<a href="${pageContext.request.contextPath}/pet?method=edit&id=${pet.pid}">修改</a>

<a href="#" onclick="del('${pet.pid}')">删除</a>

</td>

</tr>

</c:forEach>

</form>

</c:if>

</table>

</body>

<script type="text/javascript">

function del(id){

var flag = confirm("您确认要删除吗?");

if(flag){

location.href = "${pageContext.request.contextPath}/pet?method=delete&id="+id;

}

}

$("#thId").click(function(){

$("[name=id]").prop("checked",$("#thId").prop("checked"));

})

$("#btn").click(function(){

$("#formId").submit();

})

</script>

</html>

添加的界面pet.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<style type="text/css">

form {

height:800px;

width:300px;

line-height:30px;

}

dd {

margin-left:0;

}

#dt1{

float: left;

}

a{

margin-left: 100px;

}

</style>

</head>

<body background="${pageContext.request.contextPath}/pet/999.jpg">

<form action="${pageContext.request.contextPath}/pet" method="post">

<input type="hidden" name="method" value="add">

<fieldset>

<legend>添加宠物</legend>

<dl>

<dt><label >昵称</label></dt>

<dd><input type="text" placeholder="请输入昵称" name="pname"/> </dd>

<dt><label >种类</label></dt>

<dd><input type="text" placeholder="请输入种类" name="ptype" /></dd>

<dt><label>价格</label></dt>

<dd><input type="text" placeholder="请输入价格" name="price"></dd>

<dt><label>图片</label></dt>

<dd><input type="text" placeholder="请输入以.jpg结尾的文件" name="pimage"></dd>

<dt><label>宠物描述</label></dt>

<dd><textarea rows="5" cols="30" name="pdesc"></textarea><br></dd>

<dt id="dt1"><button type="submit"/>添加</dt>

<a id="id2" href="${pageContext.request.contextPath}/index.jsp">

<input height="100px" type="button" value="取消" >

</a>

</dl>

</fieldset>

</form>

</body>

</html>

修改的界面edit.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<style type="text/css">

form {

height:800px;

width:300px;

line-height:30px;

}

dd {

margin-left:0;

}

</style>

</head>

<body background="${pageContext.request.contextPath}/pet/999.jpg">

<form action="${pageContext.request.contextPath}/pet" method="post">

<input type="hidden" name="method" value="update">

<input type="hidden" name="pid" value="${pet.pid}">

<fieldset>

<legend>修改宠物</legend>

<dl>

<dt><label >昵称</label></dt>

<dd><input type="text" name="pname" value="${pet.pname}"/></dd>

<dt><label >种类</label></dt>

<dd><input type="text" placeholder="请输入种类" name="ptype" value="${pet.ptype}" /></dd>

<dt><label>价格</label></dt>

<dd><input type="text" placeholder="请输入价格" name="price" value="${pet.price}"/></dd>

<dt><label>图片</label></dt>

<dd><input type="text" placeholder="请输入以.jpg结尾的文件" name="pimage" value="${pet.pimage}"></dd>

<dt><label>宠物描述</label></dt>

<dd><textarea rows="5" cols="30" name="pdesc">${pet.pdesc}</textarea><br></dd>

<dt><button type="submit"/>确认修改</dt>

</dl>

</fieldset>

</form>

</body>

</html>

显示错误消息的界面err.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body background="${pageContext.request.contextPath}/pet/999.jpg">

<h1>${msg}</h1>

</body>

</html>

java的生成随机id的类

package com.it.servlet;

import java.util.UUID;

public class UUIDCLS {

public static void main(String[] args) {

UUID randomUUID = UUID.randomUUID();

System.out.println(randomUUID.toString().replace("-", "").toUpperCase().substring(0, 2));

}

public static String Uid() {

UUID randomUUID = UUID.randomUUID();

return randomUUID.toString().replace("-", "").toUpperCase().substring(0, 2);

}

}

java的servlet

package com.it.servlet;

import java.io.IOException;

import java.lang.reflect.InvocationTargetException;

import java.sql.SQLException;

import java.util.Arrays;

import java.util.Date;

import java.util.List;

import java.util.Map;

import java.util.UUID;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;

import org.apache.commons.dbutils.DbUtils;

import com.it.bean.PetBean;

import com.it.service.PetSevice;

public class PetServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

request.setCharacterEncoding("utf-8");

String method = request.getParameter("method");

if ("findAll".equals(method)) {

findAll(request,response);

}else if ("UUID".equals(method)) {

UUID(request,response);

}else if ("add".equals(method)) {

add(request,response);

}else if ("edit".equals(method)) {

edit(request,response);

}else if ("update".equals(method)) {

update(request,response);

}else if ("delete".equals(method)) {

delete(request,response);

}else if ("delCheck".equals(method)) {

delCheck(request,response);

}else if ("search".equals(method)) {

search(request,response);

}

}

private void search(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try {

String name = request.getParameter("name");

String kw = request.getParameter("kw");

PetSevice ps=new PetSevice();

List<PetBean>list= ps.search(name,kw);

for (PetBean petBean : list) {

System.out.println(petBean.getPname());

}

request.setAttribute("list", list);

request.setAttribute("name", name);

request.setAttribute("kw",kw);

request.getRequestDispatcher("/list.jsp").forward(request, response);

} catch (Exception e) {

e.printStackTrace();

request.setAttribute("msg", "查询失败");

request.getRequestDispatcher("/err.jsp").forward(request, response);

}

}

private void delCheck(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try {

String[] ids = request.getParameterValues("id");

PetSevice ps=new PetSevice();

ps.delCheck(ids);

request.getRequestDispatcher("/pet?method=findAll").forward(request, response);

} catch (Exception e) {

e.printStackTrace();

request.setAttribute("msg", "删除多条信息失败");

request.getRequestDispatcher("/err.jsp").forward(request, response);

}

}

private void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try {

String id = request.getParameter("id");

PetSevice ps=new PetSevice();

ps.delete(id);

request.getRequestDispatcher("/pet?method=findAll").forward(request, response);

} catch (Exception e) {

e.printStackTrace();

request.setAttribute("msg", "删除宠物信息失败");

request.getRequestDispatcher("/err.jsp").forward(request, response);

}

}

private void update(HttpServletRequest request, HttpServletResponse response) {

try {

Map<String, String[]> map = request.getParameterMap();

PetBean pb=new PetBean();

BeanUtils.populate(pb, map);

PetSevice ps=new PetSevice();

ps.update(pb);

request.getRequestDispatcher("/pet?method=findAll").forward(request, response);

} catch (Exception e) {

e.printStackTrace();

request.setAttribute("msg", "修改宠物信息失败");

request.getRequestDispatcher("err.jsp");

}

}

private void edit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try {

String id = request.getParameter("id");

PetSevice ps=new PetSevice();

PetBean pb= ps.findId(id);

request.setAttribute("pet", pb);

request.getRequestDispatcher("/edit.jsp").forward(request, response);

} catch (Exception e) {

e.printStackTrace();

request.setAttribute("msg", "查询单条数据失败");

request.getRequestDispatcher("/err.jsp").forward(request, response);

}

}

private void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try {

Map<String, String[]> map = request.getParameterMap();

PetBean pb=new PetBean();

BeanUtils.populate(pb, map);

pb.setPid(UUIDCLS.Uid());

pb.setPdate(new Date().toLocaleString());

PetSevice ps=new PetSevice();

ps.add(pb);

request.getRequestDispatcher("/pet?method=findAll").forward(request, response);

} catch (Exception e) {

e.printStackTrace();

request.setAttribute("msg", "添加失败");

request.getRequestDispatcher("/err.jsp").forward(request, response);

}

}

private void UUID(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

request.getRequestDispatcher("/pet.jsp").forward(request, response);

}

private void findAll(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try {

PetSevice ps = new PetSevice();

List<PetBean> list= ps.findAll();

request.setAttribute("list", list);

request.getRequestDispatcher("/list.jsp").forward(request, response);

} catch (Exception e) {

e.printStackTrace();

request.setAttribute("msg", "查询所有宠物失败");

request.getRequestDispatcher("/err.jsp").forward(request, response);

}

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

}

service层

package com.it.service;

import java.sql.SQLException;

import java.util.List;

import com.it.bean.PetBean;

import com.it.dao.PetDao;

import com.it.utils.DataSourceUtils;

public class PetSevice {

/**

* 查询所有宠物

* @return

* @throws SQLException

*/

public List<PetBean> findAll() throws SQLException {

PetDao pd = new PetDao();

return pd.findAll();

}

/**

* 添加宠物

* @param pb

* @throws SQLException

*/

public void add(PetBean pb) throws SQLException {

// TODO Auto-generated method stub

PetDao pd=new PetDao();

pd.add(pb);

}

/**

* 根据id查找宠物

* @param id

* @return

* @throws SQLException

*/

public PetBean findId(String id) throws SQLException {

PetDao pb=new PetDao();

return pb.findId(id);

}

/**

* 修改宠物信息

* @param pb

* @throws SQLException

*/

public void update(PetBean pb) throws SQLException {

// TODO Auto-generated method stub

PetDao pd=new PetDao();

pd.update(pb);

}

/**

* 删除

* @param id

* @throws SQLException

*/

public void delete(String id) throws SQLException {

PetDao pd=new PetDao();

pd.delete(id);

}

/**

* 批量删除

* @param ids

* @throws SQLException

*/

public void delCheck(String[] ids) throws SQLException {

try {

//开启事务

DataSourceUtils.beginTransaction();

PetDao pd=new PetDao();

if (ids!=null) {

for (String id : ids) {

pd.delCheck(id);

}

}

//提交事务

DataSourceUtils.commitAndClose();

} catch (SQLException e) {

e.printStackTrace();

DataSourceUtils.rollbackAndClose();

throw e;

}

}

//模糊查询

public List<PetBean> search(String name, String kw) throws SQLException {

//调用dao

PetDao pd=new PetDao();

return pd.sreach(name,kw);

}

}

dao层

package com.it.dao;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.handlers.BeanHandler;

import org.apache.commons.dbutils.handlers.BeanListHandler;

import com.it.bean.PetBean;

import com.it.utils.DataSourceUtils;

public class PetDao {

public List<PetBean> findAll() throws SQLException {

QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());

String sql="select * from pet";

List<PetBean> list = qr.query(sql, new BeanListHandler<PetBean>(PetBean.class));

return list;

}

public void add(PetBean pb) throws SQLException {

QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());

String sql="insert into pet values (?,?,?,?,?,?,?)";

qr.update(sql, pb.getPid(),pb.getPname(),pb.getPtype(),pb.getPrice(),"pet/"+pb.getPimage(),pb.getPdate(),pb.getPdesc());

}

public PetBean findId(String id) throws SQLException {

QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());

String sql="select * from pet where pid=?";

PetBean pb = qr.query(sql, new BeanHandler<PetBean>(PetBean.class), id);

return pb;

}

public void update(PetBean pb) throws SQLException {

QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());

String sql="update pet set pname=?,ptype=?,price=?,pimage=?,pdesc=? where pid=?";

qr.update(sql, pb.getPname(),pb.getPtype(),pb.getPrice(),pb.getPimage(),pb.getPdesc(),pb.getPid());

}

public void delete(String id) throws SQLException {

QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());

String sql="delete from pet where pid=?";

qr.update(sql,id);

}

public void delCheck(String id) throws SQLException {

QueryRunner qr=new QueryRunner();

String sql="delete from pet where pid=?";

qr.update(DataSourceUtils.getConnection(), sql,id);

}

public List<PetBean> sreach(String name, String kw) throws SQLException {

QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());

StringBuilder sb = new StringBuilder("select * from pet where 1=1");

List<String> list = new ArrayList<>();

System.out.println(name+kw);

if(name!=""){

sb.append(" and pname like ?");

list.add("%"+name+"%");

}

if(kw!=""){

sb.append(" and ptype like ?");

list.add("%"+kw+"%");

}

List<PetBean> query = qr.query(sb.toString(), new BeanListHandler<PetBean>(PetBean.class), list.toArray());

return query;

}

}

javabean

package com.it.bean;

public class PetBean {

private String pid;

private String pname;

private String ptype;

private double price;

private String pimage;

private String pdate;

private String pdesc;

public String getPid() {

return pid;

}

public void setPid(String pid) {

this.pid = pid;

}

public String getPname() {

return pname;

}

public void setPname(String pname) {

this.pname = pname;

}

public String getPtype() {

return ptype;

}

public void setPtype(String ptype) {

this.ptype = ptype;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

public String getPimage() {

return pimage;

}

public void setPimage(String pimage) {

this.pimage = pimage;

}

public String getPdate() {

return pdate;

}

public void setPdate(String pdate) {

this.pdate = pdate;

}

public String getPdesc() {

return pdesc;

}

public void setPdesc(String pdesc) {

this.pdesc = pdesc;

}

}

数据库工具类

package com.it.utils;

import java.sql.Connection;

import java.sql.SQLException;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class DataSourceUtils {

private static DataSource ds=new ComboPooledDataSource();

private static ThreadLocal<Connection> tl = new ThreadLocal<Connection>();

public static DataSource getDataSource(){

return ds;

}

public static Connection getConnection() throws SQLException{

Connection conn = tl.get();

if(conn== null){

conn=ds.getConnection();

tl.set(conn);

}

return conn;

}

public static void beginTransaction() throws SQLException{

Connection conn = getConnection();

conn.setAutoCommit(false);

}

public static void commitAndClose(){

try {

Connection conn = getConnection();

if(conn != null){

conn.commit();

}

closeConn(conn);

} catch(Exception e){

}

}

public static void rollbackAndClose(){

try {

Connection conn = getConnection();

if(conn != null){

conn.rollback();

}

closeConn(conn);

} catch (SQLException e) {

}

}

public static void closeConn(Connection conn){

try {

if(conn != null){

conn.close();

}

tl.remove();

} catch (Exception e) {

}

conn = null;

}

}

servlet配置文件

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

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

<display-name>PetStore</display-name>

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

<welcome-file>default.html</welcome-file>

<welcome-file>default.htm</welcome-file>

<welcome-file>default.jsp</welcome-file>

</welcome-file-list>

<servlet>

<description></description>

<display-name>PetServlet</display-name>

<servlet-name>PetServlet</servlet-name>

<servlet-class>com.it.servlet.PetServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>PetServlet</servlet-name>

<url-pattern>/pet</url-pattern>

</servlet-mapping>

</web-app>

c3p0配置文件

<c3p0-config>

<default-config>

<property name="driverClass">com.mysql.cj.jdbc.Driver</property>

<property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/pet</property>

<property name="user">root</property>

<property name="password">123</property>

<property name="checkoutTimeout">30000</property>

<property name="idleConnectionTestPeriod">30</property>

<property name="initialPoolSize">10</property>

<property name="maxIdleTime">30</property>

<property name="maxPoolSize">100</property>

<property name="minPoolSize">10</property>

<property name="maxStatements">200</property>

</default-config>

<named-config name="itcast">

<property name="driverClass">com.mysql.cj.jdbc.Driver</property>

<property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/day17</property>

<property name="user">root</property>

<property name="password">1234</property>

<property name="acquireIncrement">5</property>

<property name="initialPoolSize">20</property>

<property name="minPoolSize">10</property>

<property name="maxPoolSize">40</property>

<property name="maxStatements">20</property>

<property name="maxStatementsPerConnection">5</property>

</named-config>

</c3p0-config>

相关知识

动态网页项目宠物商店
宠物商店 案例分析
宠物商店加盟
宠物商店项目
宠物商店详细设计说明书
宠物网站设计案例
动物主题网页设计(小白必看)
宠物网页html+css.zip
【html网页设计】
[附源码]java毕业设计宠物商店管理系统

网址: 动态网页项目宠物商店 https://m.mcbbbk.com/newsview171901.html

所属分类:萌宠日常
上一篇: 贪婪洞窟宠物版兑换码
下一篇: 宠物店员的工作内容-宠物店员的工