JDBC
Posted 26个字符的天堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。
《java连接数据库》
Class.forName("com.mysql.jdbc.Driver")--1:加载驱动
Connection conn=DriverManager.getConnection(url, user, password)--2:通过指定的URL来获取数据库的连接
jdbc:mysql://localhost:3306/test11
PreparedStatement statement=conn.prepareStatement(sql)--3.通过一个sql预处理对象来管理sql语句
ResultSet rs=statement.executeQuery();--//4.通过ResultSet来保存sql执行后的结果
?useUnicode=true&characterEncoding=utf8--添加数据时,解决中文乱码
?characterEncoding=utf8--添加数据时,解决中文乱码
// 添加"characterEncoding=utf8"用来解决上传到数据库的乱码问题
statement.executeUpdate()--增删改数据时使用
ResultSet rs=statement.executeQuery()--查询数据时使用
《java连接网页》
req.getLocalAddr()--本机地址
req.getProtocol()--传输协议
req.getHeader()---获取请求头
req.getParameter--获取文本
跳转到jsp
req.getRequestDispatcher("resp.jsp").forward(req, resp)
重定向
resp.sendRedirect("resp.jsp");
req.setCharacterEncoding("utf-8")--设置请求编码
response.sendRedirect(req.getServletContext().getContextPath()+"/longing.jsp")--强制重定向,绝对路径
HttpSession session = req.getSession()--创建HttpSession
session.invalidate()--手动销毁session
session.setMaxInactiveInterval(10)--设定时间来自动销毁session,单位是秒
《JSP》
getServletContext().getRealPath("/")--获取项目发布的根目录
<%@ include file="toubu.jsp" %>--引入页面
<jsp:include page="inlayingJsp.jsp" flush="true"/>--引入页面
<c:import url="inlayingJsp.jsp"></c:import> --引入页面
<%! %>--声明
<% %>--脚本
<script>
var temp = "<%=test() %>"
alert(temp)
</script>---javascript脚本
<% System.out.print(application.getRealPath("/")); %>--JSP获取项目发的跟目录
《获取所有的请求头》
《方法1》
Enumeration en = request.getHeaderNames();--获取所有请求头的名字
//遍历所有的请求头
for(;en.hasMoreElements();){
//获取所以请求头的名字
Object o = en.nextElement();
//根据请求头输出相应信息
out.print(o.toString()+":"+request.getHeader(o.toString())+"<p>");
}
《方法2》
while(en.hasMoreElements()){
Object o = en.nextElement();
//根据请求头输出相应信息
out.print(o.toString()+":"+request.getHeader(o.toString())+"<p>");
}
Collection<String> enumeration = response.getHeaderNames();--获取响应头
《4个范围对象》
pageContext.setAttribute("name", "aaaaa");--生效范围是本页面内
request.setAttribute("name", "bbbbb");--生效范围是一次请求内
session.setAttribute("name", "ccccc");--生效范围是一次会话
application.setAttribute("name", "ddddd");--生效范围是整个web服务期间
request.getRequestDispatcher("new.jsp").forward(request, response);--页面跳转
out.print("page:"+page.getClass());--即指其本身
《抛出异常》
errorPage="errer.jsp"--抛出异常
<!-- 要抛出异常的话,需要设置errorPage属性,异常将会抛到指定的页面上 -->
isErrorPage="true"
<!-- 要在page指令下设置isErrorPage属性,将值设置为true,才能使用exception对象-->
《EL》
${empty name } --判断name 是否为真
isELIgnored="true" ------禁用EL表达式
".","[]"----获取值
${requestScope.name }------指定获取的EL表达式的对象范围
${param.n }--直接获取n的值
${header.host }---获取请求头host的值
${cookie.JSESSIONID.value }--获取cookie的值
《JSTL》
《表达式标签》
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>---核心标签库
var--变量名
value-- 对应的值
scope --生效范围
escapeXml --解释标签,--true---不解释 ---false--解释
<c:set var="txt" value="<b>这个是用JSTL来应用的</b>" scope="session"/>
<c:remove var="txt"/>----删除标签
<c:out value="${txt }" escapeXml="false"></c:out>
<c:catch var="error"><% int i = 1/0; %> </c:catch>---捕捉异常
《流程控制标签》
<c:if test="${1==1}"> 证明1=1 </c:if> --JSTL判断
<c:choose> <c:when test="${test ==1 }">值,为1</c:when>
<c:when test="${test ==2 }">值,为2</c:when>
<c:when test="${test ==3 }">值,为3</c:when>
<c:otherwise>其他值</c:otherwise>
</c:choose>-------------------------------多分枝语句
《循环控制标签》
items--要迭代的对象
var--每次获得的值
begin--开始的位置
end--结束的位置
step--间隔
《遍历集合》
<c:forEach items="${li }" var="n" begin="1" end= "3" step="2"> ${n }------<br> </c:forEach>
《遍历字符串》
delims --分隔符
<c:forTokens items="q,w,e,r,t,y,u,i" delims="," var="tt">
${tt }-----<br>
</c:forTokens>
《URL操作标签》
url--引用的页面
var="data"--将页面保存到data变量里面
<c:import url="index.jsp" var="data"></c:import>
<a href=‘<c:url value="index.jsp"></c:url>‘>连接</a>--URL标签:对连接的地址进行格式化,并在必要时对URL进行重写
<c:redirect url="index.jsp"></c:redirect>-- 重定向 -->
《格式化标签库》
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>--格式化标签库
NUMBER--数字类型
CURRENCY--货币类型
PERCENT--百分比类型
<fmt:formatNumber type="NUMBER" value="${num }"></fmt:formatNumber>--格式化数字
《函数标签库》--必须要在EL表达式去使用
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>--函数标签库
fn:contains() --- 函数判断输入的字符串是否包含指定的子串
fn:startsWith() --- 函数判断输入的字符串是否为指定的子串开始
fn:endsWith() --- 函数判断输入的字符串是否与指定的后缀结束
fn:toLowerCase() --- 函数将所有字符转换为小写的字符串
fn:toUpperCase() --- 函数将所有字符转换转换为大写
fn:trim() --- 函数把字符串两端空白空格删除等
fn:replace() --- 函数替换所有出现的字符串与另一个字符串
fn:substring() --- 函数返回一个指定的字符串的开始和结束索引
<script src="${pageContext.request.contextPath }"></script>--获取跟目录
window.location.href="index.jsp";-----脚本,实行跳转
《增删改查》
required="true"--文本框属性,设定必须要输入
req.setCharacterEncoding("utf-8");--添加用户时,解决中文乱码
《ajax--阿贾克斯》
var xmlReq = new XMLHttpRequest();---创建一个人ajax对象
xmlReq.open("post", url, true);--设置ajax请求
String name = new String(req.getParameter("username").getBytes("ISO-8859-1"),"utf-8");--传值时,解决中文乱码
user.setRegisterdate(new Timestamp(System.currentTimeMillis()).toString());--添加当前时间
《下载文件》
SmartUpload su = new SmartUpload();--先获取SmartUpload对象
《ajax--阿贾克斯 小结》
1.什么是Ajax :不刷新页面,但是可以和服务器进行通信的方式,使用Ajax的主要方法是XMLHttpRequest对象
2.使用XMLHttpRequest 对象实现Ajax [了解]
3.Ajax传输数据的 3 种方式
1)XML:笨重解析困难,但,XML是通用的数据交换格式
2)html:不需要解析可以直接放到文档中,若仅更新一部分区域,但传输数据不是很方便,且HTML 代码需要拼装
3)JSON:小巧,有面向对象的特征,且有很多第三方的jar包 可以把java对象或集合转换为JSON字符串
4. 使用Jquery 完成Ajax 操作
1)load 方法:可以用于HTML 文档的元素节点,把结果直接加为对应节点的子元素,
通常所言 ,load 方法加载后的数据是一个HTML片段
var $obj = ...
var url = ...
var args = {key:value};
$obj.load(url ,args);
2) $.get,$.post,$getJSON:更为灵活,除去使用load方法的情况,大部分时候都使用这 3 个方法
I.基本使用方法
//url:Ajax 请求的目标的统一资源定位器
//args:传递的参数:JSON类型
//data:Ajax 响应成功后的数据,可能是XML,HTML,JSON
$.get(url,args,function(date)){}
II.请求JSON 数据
$.get(url,args,function(data){},"JSON")
$.post(url,args,function(data){},"JSON")
$.getJSON(url,args,function(data){})
《java连接数据库》Class.forName("com.mysql.jdbc.Driver")--1:加载驱动Connection conn=DriverManager.getConnection(url, user, password)--2:通过指定的URL来获取数据库的连接jdbc:mysql://localhost:3306/test11PreparedStatement statement=conn.prepareStatement(sql)--3.通过一个sql预处理对象来管理sql语句ResultSet rs=statement.executeQuery();--//4.通过ResultSet来保存sql执行后的结果?useUnicode=true&characterEncoding=utf8--添加数据时,解决中文乱码?characterEncoding=utf8--添加数据时,解决中文乱码// 添加"characterEncoding=utf8"用来解决上传到数据库的乱码问题statement.executeUpdate()--增删改数据时使用ResultSet rs=statement.executeQuery()--查询数据时使用
《java连接网页》req.getLocalAddr()--本机地址req.getProtocol()--传输协议req.getHeader()---获取请求头req.getParameter--获取文本
跳转到jspreq.getRequestDispatcher("resp.jsp").forward(req, resp)
重定向resp.sendRedirect("resp.jsp");
req.setCharacterEncoding("utf-8")--设置请求编码response.sendRedirect(req.getServletContext().getContextPath()+"/longing.jsp")--强制重定向,绝对路径
HttpSession session = req.getSession()--创建HttpSessionsession.invalidate()--手动销毁sessionsession.setMaxInactiveInterval(10)--设定时间来自动销毁session,单位是秒
《JSP》getServletContext().getRealPath("/")--获取项目发布的根目录<%@ include file="toubu.jsp" %>--引入页面<jsp:include page="inlayingJsp.jsp" flush="true"/>--引入页面 <c:import url="inlayingJsp.jsp"></c:import> --引入页面<%! %>--声明<% %>--脚本
<script>var temp = "<%=test() %>"alert(temp)</script>---javascript脚本
<% System.out.print(application.getRealPath("/")); %>--JSP获取项目发的跟目录《获取所有的请求头》《方法1》Enumeration en = request.getHeaderNames();--获取所有请求头的名字//遍历所有的请求头for(;en.hasMoreElements();){//获取所以请求头的名字Object o = en.nextElement();//根据请求头输出相应信息out.print(o.toString()+":"+request.getHeader(o.toString())+"<p>");}《方法2》while(en.hasMoreElements()){Object o = en.nextElement();//根据请求头输出相应信息out.print(o.toString()+":"+request.getHeader(o.toString())+"<p>");}Collection<String> enumeration = response.getHeaderNames();--获取响应头《4个范围对象》pageContext.setAttribute("name", "aaaaa");--生效范围是本页面内request.setAttribute("name", "bbbbb");--生效范围是一次请求内session.setAttribute("name", "ccccc");--生效范围是一次会话application.setAttribute("name", "ddddd");--生效范围是整个web服务期间request.getRequestDispatcher("new.jsp").forward(request, response);--页面跳转out.print("page:"+page.getClass());--即指其本身《抛出异常》errorPage="errer.jsp"--抛出异常<!-- 要抛出异常的话,需要设置errorPage属性,异常将会抛到指定的页面上 -->isErrorPage="true"<!-- 要在page指令下设置isErrorPage属性,将值设置为true,才能使用exception对象-->
《EL》${empty name } --判断name 是否为真isELIgnored="true" ------禁用EL表达式".","[]"----获取值${requestScope.name }------指定获取的EL表达式的对象范围${param.n }--直接获取n的值 ${header.host }---获取请求头host的值 ${cookie.JSESSIONID.value }--获取cookie的值 《JSTL》《表达式标签》<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>---核心标签库var--变量名value-- 对应的值scope --生效范围escapeXml --解释标签,--true---不解释 ---false--解释<c:set var="txt" value="<b>这个是用JSTL来应用的</b>" scope="session"/><c:remove var="txt"/>----删除标签<c:out value="${txt }" escapeXml="false"></c:out><c:catch var="error"><% int i = 1/0; %> </c:catch>---捕捉异常
《流程控制标签》<c:if test="${1==1}"> 证明1=1 </c:if> --JSTL判断<c:choose> <c:when test="${test ==1 }">值,为1</c:when><c:when test="${test ==2 }">值,为2</c:when><c:when test="${test ==3 }">值,为3</c:when><c:otherwise>其他值</c:otherwise></c:choose>-------------------------------多分枝语句
《循环控制标签》items--要迭代的对象var--每次获得的值begin--开始的位置end--结束的位置step--间隔《遍历集合》<c:forEach items="${li }" var="n" begin="1" end= "3" step="2"> ${n }------<br> </c:forEach>《遍历字符串》delims --分隔符<c:forTokens items="q,w,e,r,t,y,u,i" delims="," var="tt">${tt }-----<br></c:forTokens>《URL操作标签》url--引用的页面var="data"--将页面保存到data变量里面<c:import url="index.jsp" var="data"></c:import><a href=‘<c:url value="index.jsp"></c:url>‘>连接</a>--URL标签:对连接的地址进行格式化,并在必要时对URL进行重写<c:redirect url="index.jsp"></c:redirect>-- 重定向 -->
《格式化标签库》<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>--格式化标签库NUMBER--数字类型CURRENCY--货币类型PERCENT--百分比类型<fmt:formatNumber type="NUMBER" value="${num }"></fmt:formatNumber>--格式化数字
《函数标签库》--必须要在EL表达式去使用<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>--函数标签库fn:contains() --- 函数判断输入的字符串是否包含指定的子串fn:startsWith() --- 函数判断输入的字符串是否为指定的子串开始fn:endsWith() --- 函数判断输入的字符串是否与指定的后缀结束fn:toLowerCase() --- 函数将所有字符转换为小写的字符串fn:toUpperCase() --- 函数将所有字符转换转换为大写fn:trim() --- 函数把字符串两端空白空格删除等fn:replace() --- 函数替换所有出现的字符串与另一个字符串fn:substring() --- 函数返回一个指定的字符串的开始和结束索引<script src="${pageContext.request.contextPath }"></script>--获取跟目录window.location.href="index.jsp";-----脚本,实行跳转《增删改查》required="true"--文本框属性,设定必须要输入req.setCharacterEncoding("utf-8");--添加用户时,解决中文乱码《ajax--阿贾克斯》var xmlReq = new XMLHttpRequest();---创建一个人ajax对象xmlReq.open("post", url, true);--设置ajax请求String name = new String(req.getParameter("username").getBytes("ISO-8859-1"),"utf-8");--传值时,解决中文乱码user.setRegisterdate(new Timestamp(System.currentTimeMillis()).toString());--添加当前时间《下载文件》SmartUpload su = new SmartUpload();--先获取SmartUpload对象《ajax--阿贾克斯 小结》1.什么是Ajax :不刷新页面,但是可以和服务器进行通信的方式,使用Ajax的主要方法是XMLHttpRequest对象2.使用XMLHttpRequest 对象实现Ajax [了解]3.Ajax传输数据的 3 种方式 1)XML:笨重解析困难,但,XML是通用的数据交换格式2)HTML:不需要解析可以直接放到文档中,若仅更新一部分区域,但传输数据不是很方便,且HTML 代码需要拼装3)JSON:小巧,有面向对象的特征,且有很多第三方的jar包 可以把java对象或集合转换为JSON字符串
4. 使用Jquery 完成Ajax 操作1)load 方法:可以用于HTML 文档的元素节点,把结果直接加为对应节点的子元素,通常所言 ,load 方法加载后的数据是一个HTML片段var $obj = ...var url = ...var args = {key:value};$obj.load(url ,args);
2) $.get,$.post,$getJSON:更为灵活,除去使用load方法的情况,大部分时候都使用这 3 个方法I.基本使用方法//url:Ajax 请求的目标的统一资源定位器//args:传递的参数:JSON类型//data:Ajax 响应成功后的数据,可能是XML,HTML,JSON$.get(url,args,function(date)){}II.请求JSON 数据$.get(url,args,function(data){},"JSON")$.post(url,args,function(data){},"JSON")$.getJSON(url,args,function(data){})
以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章