JSTL断点JavaEEDBUTils连接池

Posted zs0322

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSTL断点JavaEEDBUTils连接池相关的知识,希望对你有一定的参考价值。

summarize

JSTL在jsp页面上用标签去写if语句for循环,jstl 出现目的和el一样,替代 jsp 页面上的脚本代码,JSTL有5个字库,目前常用核心库 Core库,其他4个库是jsp时代用,目的为了完成jsp上的增删改查。

 

JSTL技术

1.JSTL概述

JSTL(JSP Standard Tag Library),JSP标准标签库,可嵌入jsp页面中使用标签形式完成业务逻辑等功能,和el一样出现目的替代jsp页面中脚本代码,STL标准标签库有5个子库,JSTL标准标签库有5个子库,目前最常用核心库Core库,其他4个库都是jsp时代用,目的为了完成在jsp上完成增删改查,很麻烦。

技术图片

2.JSTL下载与导入

JSTL下载:

从Apache的网站下载JSTL的JAR包。进入  “http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/” 网址下载 JSTL的安装包。jakarta-taglibs-standard-1.1.2.zip,然后将下载好的JSTL安装包   进行解压,此时,在lib目录下可以看到两个JAR文件,分别为jstl.jar和standard.jar。jstl.jar 包含JSTL规范中定义的接口和相关类,standard.jar 包含用于  实现JSTL的.class文件以及JSTL中5个标签库描述符文件(TLD)

技术图片将两个jar包导入我们工程的lib中,使用jsp的taglib指令导入核心标签库

3.JSTL核心库的常用标签

1)<c:if test=””>标签:test是返回boolean的条件

1)<c:forEach>标签:使用方式有两种组合形式:

技术图片

代码演示

<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.ArrayList"%>
<%@page import="com.oracle.domain.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <%-- <c:if test="$1==1 "><!-- 判断是否正确 判断时必须在大括号里面判断 -->
    正确
    </c:if>
    <c:if test="$1!=1 "><!-- 用取反判断这是错误 相当于else -->
    错误
    </c:if> --%>
    <!-- 普通for -->
    <c:forEach begin="0" end="10" var="i">
        $i    <!-- 这里加上$会显示0到5,只写i,就会显示5个i -->
    </c:forEach>
    <%
        User user1=new User();
        user1.setAge(8);
        user1.setName("袁一鸣");
        User user2=new User();
        user2.setAge(10);
        user2.setName("胸大");
        ArrayList<User> list=new ArrayList<User>();
        list.add(user1);
        list.add(user2);
        request.setAttribute("UserList",list);
        //创建Map <String,User
        Map<String,User> map=new HashMap<String,User>();
        map.put("1",user1);
        map.put("2",user2);
        //创建List<String>
        ArrayList<String> arr=new ArrayList<String>();
        arr.add("a");
        arr.add("b");
        session.setAttribute("str",arr);        
    %>
</body>
</html>

示例:

1)遍历List<String>的值

2)遍历List<User>的值

3)遍历Map<String,String>的值

4)遍历Map<String,User>的值

5)遍历Map<User,Map<String,User>>的值

entry.key-----User

entry.value------List<String,User>

 

 

js错

找错用Debug模式

控制台看到 Syntax  就是sql错误

技术图片 询问你是否进入debug模式

pm

1.1   QueryRunner核心类

l  update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作

l  query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作

1.2   QueryRunner实现添加、更新、删除操作

l  update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作

1.1   QueryRunner实现查询操作

l  query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params),用来完成表数据的查询操作

 

技术图片

 

QueryRunner 

package com.oracle.domain;

public class Sort 
private Integer sid;
private String sname;
public Integer getSid() 
    return sid;

public void setSid(Integer sid) 
    this.sid = sid;

public String getSname() 
    return sname;

public void setSname(String sname) 
    this.sname = sname;

@Override
public String toString() 
    return "Sort [sid=" + sid + ", sname=" + sname + "]";



----------------------------------------------------
package com.oracle.dao;

import java.sql.Connection;
import java.sql.SQLException;

import javax.management.Query;

import org.apache.commons.dbutils.QueryRunner;

import com.oracle.tools.JDBCUtils;

public class SortDao 
//    新增
    public int addSort(Integer sid,String sname) throws SQLException
//        获取连接对象
        Connection conn=JDBCUtils.getConn();
//        创建QueryRunner对象
        QueryRunner qr=new QueryRunner();
        String sql="insert into sort values(?,?)";
        int row=qr.update(conn,sql,sid,sname);
        return row;
    
//    修改
    public int update(Integer sid,String sname) throws SQLException
//        获取连接对象
        Connection conn=JDBCUtils.getConn();
//        创建QueryRunner对象
        QueryRunner qr=new QueryRunner();
        String sql="update sort set sname=? where sid=?";
        int row=qr.update(conn,sql,sname,sid);
        return row;
    
//    删除
    public int delete(Integer sid) throws SQLException
//        获取连接对象
        Connection conn=JDBCUtils.getConn();
//        创建QueryRunner对象
        QueryRunner qr=new QueryRunner();
        String sql="delete from sort where sid=?";
        int row=qr.update(conn,sql,sid);
        return row;
    
    
----------------------------------------------
package com.oracle.test;

import java.sql.Connection;
import java.sql.SQLException;

import org.apache.commons.dbutils.QueryRunner;

import com.oracle.dao.SortDao;
import com.oracle.tools.JDBCUtils;

public class Demo 
    public static void main(String[] args) throws SQLException 
        SortDao sortDao=new SortDao();
        int row=sortDao.addSort(11,"黑板擦");
        System.out.println(row);
    

 

 

连接池

先导包

技术图片

 

以上是关于JSTL断点JavaEEDBUTils连接池的主要内容,如果未能解决你的问题,请参考以下文章

java中建立数据库连接池,有哪几个步骤

java程序访问数据库,dbcp连接池,hibernate连接总是报池连接用光了/JDBC连接没有报错

连接池技术的连接池的建立

连接池的基本原理? 以及使用连接池的好处?

连接池

数据库连接池的Java连接池