JSP学习笔记(六)JDBC连接

JSP学习笔记(六)JDBC连接_第1张图片

执行流程:

连接数据源,如:数据库。

为数据库传递查询和更新指令。

处理数据库响应并返回的结果。

JDBC 架构

分为双层架构和三层架构。
双层:

作用:此架构中,Java Applet 或应用直接访问数据源。

条件:要求 Driver 能与访问的数据库交互。

机制:用户命令传给数据库或其他数据源,随之结果被返回。

部署:数据源可以在另一台机器上,用户通过网络连接,称为 C/S配置(可以是内联网或互联网)。
三层:
模型:
JSP学习笔记(六)JDBC连接_第2张图片
侧架构特殊之处在于,引入中间层服务。

流程:命令和结构都会经过该层。

吸引:可以增加企业数据的访问控制,以及多种类型的更新;另外,也可简化应用的部署,并在多数情况下有性能优势。

历史趋势: 以往,因性能问题,中间层都用 C 或 C++ 编写,随着优化编译器(将 Java 字节码 转为 高效的 特定机器码)和技术的发展,如EJB,Java 开始用于中间层的开发这也让 Java 的优势突显出现出来,使用 Java 作为服务器代码语言,JDBC随之被重视。

JDBC 编程步骤

加载驱动程序:

Class.forName(driverClass)
//加载MySql驱动
Class.forName("com.mysql.jdbc.Driver")
//加载Oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver")

获得数据库连接:

DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc", "root", "root");

创建Statement\PreparedStatement对象:

conn.createStatement();
conn.prepareStatement(sql);

案例

连接数据库登录界面的实现:
(1)数据库准备:
在这里插入图片描述
新建一个useer表
(2)界面部分:
(上一篇中的界面。这里就不放代码了)
(3)实现效果:
若输入的用户名密码在数据库中存在,则跳转至登录成功页面,若没有则跳转登录失败页面
(4)代码实现(检测部分):

<%
String a=request.getParameter("zhanghao");
String b;
b=request.getParameter("mima"); 
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/jee?useSSL=false";
String username="root";
String pwd="1234";
Connection conn=DriverManager.getConnection(url, username, pwd);
PreparedStatement stmt=conn.prepareStatement("select * from useer where usename=? and usepwd=?");
stmt.setString(1,a);
stmt.setString(2,b);
ResultSet rs=stmt.executeQuery();
%>
 
<% if(rs.next()){%>
	
	<% request.setCharacterEncoding("UTF-8") ;
		//创建cookie对象
		Cookie nameCookie=new Cookie("username",a);
		Cookie pwdCookie=new Cookie("userpwd",b);
		//设置有效期
		nameCookie.setMaxAge(60*60);
		pwdCookie.setMaxAge(60*60);
		//向客户端写cookie
		response.addCookie(nameCookie);
		response.addCookie(pwdCookie);
		
		//创建session对象
		session.setAttribute("username", a);
		//session.setAttribute("pwd", b);
		session.setAttribute("testData", "123456");
		session.setAttribute("shoppingList", "鞋子");
		session.setMaxInactiveInterval(60*3); 
		System.out.print("测试"+session.getAttribute("username"));%>
		
		
	<% 
}else{
	%>
	
		
		
	<%
}



%>

你可能感兴趣的:(jsp)