《JSP笔记》之十(数据库)(新2009年10月20日)
jsp基础语法课堂笔记

5)、useBean 动作标记
该标记用来创建并使用一个Javabean,是非常重要的一个动作标记,我们将在第4章详细讨论。Sun公司的倡导是:用HTML完成JSP页面的静态部分,用Javabean完成动态部分,实现真正意义上的静态和动态分离。
3)、JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
4)、JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
二、jsp语法
1、JSP页面的基本结构
一、jsp简介
1)、JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
2)、JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
5. JSP中的注释
1)、 HTML注释格式:
<!-- 注释内容 -->
2)、 JSP注释格式:
<%-- 注释内容 --%>
6. JSP 指令标记
1)、page 指令标记
?? (5)、buffer 属性 内置输出流对象out负责将服务器的某些信息或运行结果发送到客户端显示,buffer属性用来指定out设置的缓冲区的大小或不使用缓冲区。
例如: <%@ page buffer= “24kb” %>buffer属性的默认值是8kb 。buffer属性可以取值" none",设置out不使用缓冲区。
JSP中的数据库操作

2013-7-8
张燕
山东财政学院计算机信息工程学院
7
主要内容
什么是JDBC JDBC驱动程序类型 用JDBC进行数据库编程
用JDBC访问Access数据库 用JDBC访问MySQL数据库 使用配置文件访问数据库
数据库连接池的配置与使用
2013-7-8
张燕
山东财政学院计算机信息工程学院
2013-7-8
张燕
山东财政学院计算机信息工程学院
5
JDBC
Java 应用程序 编程接口 插入 修改
Java应用程序
JDBC (Java 数据库连接) (sun公司提供)
数据库
删除
查询
2013-7-8
张燕
山东财政学院计算机信息工程学院
6
JDBC技术介绍
JDBC是一种底层API,在访问数据库时需要 在业务逻辑中直接嵌入SQL语句。由于SQL语 句是面向关系的,依赖于关系模型,所以 JDBC传承了简单直接的优点,特别是对于小 型应用程序十分方便。 JDBC不能直接访问数据库,必须依赖于数据 库厂商提供的JDBC驱动程序。
Connection con = DriverManager.getConnection(url, "sa",""); //取得数据库连接 Statement stmt = con.createStatement(); //获取Statement对象
为了执行Statement对象,被发送到数据库的SQL语句将被作为参 数提供给Statement类中的指定方法。例如,通过Statement对象执行 查询的SQL语句: ResultSet rs = stmt.executeQuery("select * from user");
JSP课堂笔记

get:url传参数,中文会出现乱码
解决方法://解决url传参数带有中文的乱码的解决方法
String abc=new String(request.getParameter("abc").getBytes("ISO-8859-1"),服务器上的脚本 。Linux+mysql+Php(最佳组合)
actionscript:flash flex技术
带宽的问题。
c/s:client/server,对于一些实时性比较强
b/s:brower/server,对于维护方便,版本又一停更新的
(ADDRESS = (PROTOCOL = TCP)(HOST = onest)(PORT = 1521))
)
)
扩展:poi 读取word,Excel,ppt文件内容,下载poi jar包 难度适中
jfreeChat 用来显示图表信息,做一些报表。
number的转化:
<fmt:formatNumber value="1234567890" type="number"></fmt:formatNumber><br/>
传参数:有限制,限制2KB
c)method="post"
传参数是没有限制,就安全性来说 ,会比较安全,隐式的传参
3)out:向页面输出html,文本
4)session:用来存储有关用户会话的所有信息,保存在服务器中
5)application:类似于系统的“全局变量”,用于实现用户之间的数据共享,保存在服务器中
JSP中使用数据库

• 7.2.3 Statement接口
– public boolean execute(String sql):用于执行返回 多种成果集、多种更新计数或两者结合旳SQL语句。
– public int[] executeBatch():用于执行几种SQL语 句。Statement接口使用addBatch(String sql)措施 将几种SQL语句添加到一种语句块中,然后一同提 交给数据库服务器,同步执行。当执行多种SQL insert语句时效率将很高,因为一次提交比屡次提 交要节省诸多系统资源。
• 7.2.4 数据成果集——ResultSet接口
– public XXX getXXX(String columnName): XXX代表任意旳数据类型,参数columnName 代表列名。
– public XXX getXXX(int columnIndex):XXX代 表任意旳数据类型,参数columnIndex代表列 号。
– public static Class forName(String className)
• DrvierManager类旳使使用方法: • (1)加载驱动
– 例如: – Class.forName("com.mysql.jdbc.Driver");
• (2)与数据库建立连接
– DriverManager.getConnection(String url,String user,String password);
• 全部旳利用JDBC访问数据库旳程序都具有 下列旳流程:
– 加载JDBC驱动程序 – 建立和数据库旳连接 – 执行SQL语句 – 存储处理成果 – 与数据库断开连接
• 7.3.1 经过JDBC-ODBC桥连接来访问数据 库
jsp基础知识备份

注意: include指令元素和行为元素主要有两个方面的 不同点。 1.include指令是静态包含,执行时间是在编译阶段执行, 引入的内容为静态文要,在编译成servlet时就和包含 者融合到一起。所以file不能是一个变量,也不能在file 后接任何参数。 2.include行为是动态包含,执行时间是在请求阶段执 行,引入的内容在执行页面时被请求时动态生成再包 含到页面中。
TAGLIB指令
功能: taglib指令用来引用一个标签库或者自定义标签, 通过taglib指令可告诉容器此jsp页面将使用哪些标签库, 并可以给引用的标签库指定一个前缀,在jsp文件中使用到 这个标签库的时候,就可以使用指定的前缀来标识标签库, 语法 :<%@ taglib uri="tagLibraryURL" prefix="tagPrefix"%> uri=“tld文件所在的路径” prefix=“前缀” 例子 <%@taglib uri="/WEB-INF/标签文件名.tld" prefix="test"%>
<%! public String foo(String str) { return str; %> <%=foo(“helloword”)%> 注意: <%= %> 是输出语句,将表达式结果转换成字符串,在页面输出 表达式里不需要“;”且只能写一句
JAVA 脚本
语法 :<% java 代码;%> 例子 <% for(int i=0;i<10;i++){ out.println(“<font color=red>第”+i+”次 </font>”); } %>
JSP数据库应用开发知识点

JSP数据库应用开发:1、了解数据库的基本概念2、了解数据库mysql3、掌握在mysql中创建数据库、数据表4、熟悉sql的常用查询语句5、了解jdbc的工作原理6、掌握使用jdbc连接数据库的方法7、了解jdbc-odbc桥接8、掌握纯java驱动方式连接数据库9、掌握在web项目中创建连接数据库的工具类具体内容:1、了解数据库的基本概念:(1)数据库技术产生于20世纪60年代;(2)数据VS信息:1)数据——对客观事物描述和记载的可以鉴别的物理符号,是客观事物的基本表达;2)信息是数据的集合、含义与解释,是事物变化、特征的反映。
(3)数据库是指在计算机内按照一定形式存放、有组织、统一管理的相关数据和数据库对象的集合。
其中数据库对象是指表、视图、存储过程、触发器等。
(4)数据库管理系统:是位于用户和操作系统之间的一层数据管理软件。
它能科学的组织和存储数据、高效地获取和维护数据,并能为用户提供访问数据的方法,包括数据库的创建、查询、插入、修改和删除等。
(5)数据库系统:是指实现有组织、动态的存储大量关联数据、方便用户访问计算机硬件、软件和数据资源的系统,它主要由数据库、数据库管理系统、应用系统、数据库管理员及用户组成。
数据库系统常称为数据库。
(6)数据库分类:一句数据库管理系统的数据模型,可以分为层次数据库、网状数据库、关系数据库、面向对象数据库。
最常用的是关系数据库。
支持关系数据库的产品有:IBMDB2 Oracle Sybase Microsoft SQL Server等(7)关系数据库:是以关系模型为基础的;(8)关系模型是利用二维表格表示数据的数据模型。
(9)数据表a 也叫做关系a(10)关系的首行:叫做属性、也叫做字段、也就是关系各列的名字,属性描述了所在列的意义。
关系中每个属性都有一个取值范围,也就是这个属性的数据类型的取值范围,称为该属性的域。
(11)关系的模式:关系名和关系的属性的集合,也就是数据表的名字和数据表首行的各个字段的集合,例如数据表user,里面有三个字段id, username,userpassword,那么,关系模式是:user(id,username,userpassword)(12)记录:在关系中,字段的有序集合称为记录,记录的各个分量分别对应着关系的各个属性。
jsp学习笔记初级

MVC:JSP + +Java:复习java基础知识Jsp:JSP、PHP、 三门技术被称为Web 后端开发的3P 技术,其中JSP 依托J2EE 平台更是Web 开发领域的一枝独秀。
学好JSP,是进入J2EE 企业开发的第一步。
通过本阶段内容的学习,你将能够搭建JSP 的开发环境,了解JSP 的基本语法及内部对象的使用。
Servlet:Servlet 是Server Applet 的缩写,也称为服务端小程序。
Servlet 技术一直处于不断的发展及进步之中,现在已经成为很多框架的技术基础,比如Spring、Struts2 等。
通过本阶段课程的学习,你将了解Servlet的运行原理,Servlet 过滤器的知识并能编写出相对复杂的Java Web 程序。
Javabean:JavaBeans是一个可重复使用的软件组件JavaBeans是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称beans。
JSP页面应当将数据的处理过程指派给一个或几个beans来完成,我们只需在JSP页面中调用这个beans即可,从而有效的分离的静态工作部分和动态工作部分JDBC:JDBC 是Java 对关系型数据库进行访问的最主要的API,是Java 数据库编程的技术基础。
通过本阶段内容的学习,你能够掌握数据库的基本知识及JDBC 技术的基本原理,并能够使用JDBC编写出对数据库进行增删改查的简单程序Spring:Spring 是一个开源框架,也是一个基于控制反转、依赖注入的轻量级容器,它的出现大大简化了传统的J2EE 开发模式。
Spring 的主要优势之一就是其分层架构,该架构允许使用者自主选择任意件,同时为J2EE 应用程序开发提供集成框架。
现在,Spring 已经成为J2EE 企业开发中的标准配置。
Struts2:Spring MVC是一种基于Java的轻量级Web框架,它使用了MVC架构模式的思想,将web 层进行职责解耦,用来简化日常开发。
jsp复习要点

request对象属性的应用
1、request属性传递数据:如图
2.request属性传递数据的步骤 使用 request.setAttribute(String name,Object obj)方 法向request属性存入数据 获取一个RequestDispatcher转发实例,转发到目标资 源
1.JSP(Java Server Pages)是指在HTML中嵌入Java脚本语言, 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本语 言命令将生成的整个页面信息返回给客户端。 2.JSP优点:跨平台,编译后执行,提高执行效率,采用java技 术,java应用广泛,学习较容易,是J2EE的十三种技术之一, 可共同构建企业应用。 (内容动态生成与静态表示分离,可重复使用的组件,简化页 面开发跨平台 ) JSP缺点:开发环境安装复杂,先装JDK,再装服务器。相对于 asp,java语言学习较困难。 3.使用场合:JSP技术解决界面显示问题 ;Servlet主要解决内 部逻辑问题
1.Servlet类的层次结构:如图 2.Servlet API的原则:
重写doGet方法来处理get请求 重写doPost方法来处理post请求 如果需要在Servlet实例化进进行初始化工作,可以重写init()方法 如果需要在Servlet被释放时进行资源清理的工作,可以重写 destroy()方法
用于对需要传递给HttpServletResponse接口中的sendRedirect()方法的URL进行 自动URL重写
2.隐藏域是用于收集或发送信息的不可见元素。当表单提交时,隐藏域会将 信息用事先设置时定义的名称和值发送给服务器 .
JSP复习教程
第四章 JSP基础入门(重点)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《JSP笔记》之十第七章JSP中使用数据库在本章中,我们使用SQL Server 2000数据库管理系统。
特别约定,建立新的数据库名为:student,在其下创建表:表1:student;表2:login 。
§7.1 SQL Server 2000数据库管理系统§7.2 JDBCJDBC是Java数据库连接API,它由一些Java类和接口组成。
在JSP中可以使用JDBC 实现对数据库中表记录的查询、修改、插入和删除等操作。
JDBC技术在JSP开发中占有很重要的地位。
经常使用JDBC进行如下操作:1.与一个数据库建立连接2.向已连接的数据库发送SQL语句3.处理SQL语句返回的结果§7.3 数据库连接的常用方式应用程序必须首先与数据库建立连接。
本节介绍常用的两种连接方式:建立JDBC-ODBC桥接器和加载纯Java数据库驱动程序。
§7.3.1 JDBC-ODBC桥接器使用JDBC-ODBC桥接器方式与数据库建立连接,要经过:创建ODBC数据源――>建立JDBC-ODBC桥接器――>和ODBC数据源指定的数据库建立连接共3个步骤。
1.创建ODBC数据源:步骤见教材,这里规定:数据源名:student,数据库名:student, 用户名:sa 密码:sa。
2.建立JDBC-ODBC桥接器为了连接student数据源的student数据库,首先要建立一个JDBC-ODBC桥接器:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);这里,Class是包ng中的一个类,该类通过调用它的静态方法forName加载sun.jdbc.odbc包中的JdbcOdbcDriver类来建立JDBC-ODBC桥接器。
建立桥接器时可能发生异常,因此捕获这个异常。
所以建立桥接器的标准语句是:try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);}Catch(ClassNotFoundException e){out.println(e)}3.与ODBC数据源指定的数据库建立连接编写连接数据库的Java代码不会出现数据库的名称,只能出现数据源的名字。
先使用java.sql包中的Connection类声明一个连接对象,然后再使用类DriverManager调用它的静态方法getConnection创建这个对象:Connection con=DriverMagager.getConnection(“jdbc:odbc:数据源名字”,”login name”,”password”);其中login name 和password 是建立数据源时所使用的用户名和密码。
建立连接时应捕获SQLException异常:try{Connection con=DriverManager.getConnection(“jdbc:odbc:student”,”sa”,”sa”);}catch(SQLException e){out.println(e);}这样就与数据源student建立了连接。
应用程序一旦与某个数据源建立连接,就可以通过SQL语句与该数据源所指定的数据库中的表交互信息,如查询、修改、更新表中的记录。
下例中是一个简单的JSP页面,该页面中的Java程序片代码负责连接到数据源student,查询该数据源中的数据库student中的表student的全部记录。
例1用JDBC-ODBC连接数据库,并显示表student中的全部记录。
chap9-1(odbc).jsp<%@ page contentType="text/html;charset=GB2312" %><%@ page import="java.sql.*" %><HTML><BODY><%Connection con;Statement sql;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){out.println(e);}try {con=DriverManager.getConnection("jdbc:odbc:student","sa","sa");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM student");%><Table Border bgcolor="#CCFFFF"><TR><TH width=100><font face="宋体">学号</font><TH width=100><font face="宋体">姓名</font><TH width=50><font face="宋体">学分</font></TR><%while(rs.next()){%><TR><TD ><div align="center"><%=rs.getString(1)%></div></TD><TD ><div align="center"><%=rs.getString(2)%></div></TD><TD ><div align="center"><%=rs.getInt(3)%></div></TD></TR><% }%></Table><% con.close();}catch(SQLException e1) {}%></BODY></HTML>§7.3.2 使用纯Java数据库驱动程序方式实现连接用Java语言编写的驱动程序称为纯Java驱动程序。
简单地说,JDBC可以调用本地的纯Java驱动程序和相应的数据库建立连接。
这种连接数据库方式要经过2个步骤:加载纯Java驱动程序->与指定的数据库连接。
1.加载纯Java驱动程序:这种方式下不需要设置数据源,由于不依赖于ODBC,使得应用程序具有很好的移植性。
目前,许多数据库厂商都提供了自己的相应的纯Java驱动程序。
当使用纯Java驱动程序访问数据库时,必须要保证在连接数据库的应用程序所驻留的计算机上安装相应DBMS提供的纯Java驱动程序。
比如,Tomcat服务器上的某个Web应用程序想访问SQKServer2000数据库管理系统所管理的数据库,Tomcat服务器所驻留的计算机上必须要安装SQLServer 2000提供的纯Java驱动程序。
我们这里,使用的是MS SQL Server 2000数据库管理系统。
所以需要把该厂商提供的jar包:mssqlserver.jar、msutil.jar、msbase.jar挎贝到Java的jre\lib\ext中,或复制到Tomcat 服务器安装目录的文件夹的common\lib中。
准备好了后,加载纯Java驱动程序:try{Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();}catch(Exception e){out.println(e);}2.和指定的数据库建立连接假设应用程序要与SQL Server 数据库服务器管理的数据库student建立连接,而有权访问数据库student的用户的id和密码分别是sa、sa,那么建立连接的代码如下:try{String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student”;String user=”sa”;String password=”sa”;con=DriverManager.getConnection(url,user,password);}catch(SQLException e){out.println(e);}下面的例子是采用纯Java数据库驱动程序方式来实现上一个例题的例子。
例2使用纯Java数据库驱动方式显示表中的全部记录chap9-2(jdbc).jsp<%@ page contentType="text/html;charset=GB2312" %><%@ page import="java.sql.*" %><%@ page import="java.util.*"%><HTML><BODY><%Connection con;Statement sql;ResultSet rs;try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();}catch(Exception e){out.print(e);out.print("***************");out.print("<br>");}try{String url;url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";String user="sa";String password="sa";con=DriverManager.getConnection(url,user,password);sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM student");%><CENTER><TABLE border="" bgcolor="#74bbc0"><TBODY><TR><TH width="100">学号</TH><TH width="100">姓名</TH><TH width="50">学分</TH></TR><%while(rs.next()){%><TR align="center"><TD><%=rs.getString(1)%></TD><TD><%=rs.getString(2)%></TD><TD><%=rs.getInt(3)%></TD></TR><%}%></TBODY></TABLE></CENTER><%con.close();}catch(SQLException e1){out.println(e1);}%></BODY></HTML>§7.3.3 关闭与数据库的连接当程序不再使用与数据库的连接时,应使用Connection对象的close方法关闭与数据库的连接。