JSP程序设计-2012.ppt_第1页
JSP程序设计-2012.ppt_第2页
JSP程序设计-2012.ppt_第3页
JSP程序设计-2012.ppt_第4页
JSP程序设计-2012.ppt_第5页
已阅读5页,还剩143页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JSP程序设计,为什么要学?,电子商务迅猛发展 企业信息系统网络化 当前主流的IT技术,学习什么?,基于JSP的Web开发基础技术!,有什么用?,从事基于Web的企业信息系统开发 开发各种类型的网站,如何学?,实践出真知 团队协作 项目实战,主讲内容: JSP技术基础 环境配置 HTML基础 JSP语法和内置对象 JSP文件上传 MySQL数据库 JSP中访问数据库 Navicat Premium Servlet JavaBean,需要具备的相关知识: 数据库基本知识 网络基础知识 Dreamweaver的使用 Java语言 本课程以实战为导向。课后认真自学上述相关基础知识。布置的思考与练习题

2、目,尽可能课后认真上机实践。,大学教育里,除了素质教育外,如何进行有针对性的“谋生技能教育”,是一个很现实的问题。当然,咱们的毕业生同学们,不可能等到大学教育改革完成再就业。 其实,大多数公司做的事,都不是造神六,没有那么复杂的科学原理和技术。即使是神六这样的尖端科技,也是要讲究简单的。霍金在时间简史中说:“插入任何一个数学公式都会使作品的销量减半。”诺贝尔们如是说,咱们 IT 的从业者,又凭什么说不是呢?其实,许多当前流行的技术,从“应用”的角度来看,都是很简单的,甚至可以称之为“快餐技术”。初学者不需要知道太多底层的原理至少现在不需要。他们关心的是:如何尽快学会使用一种技术,并找到一份工作

3、。,有一种声音如是说!,本课程涉及的软件,JDK7 Tomcat7 Dreamweaver2008 MySQL5.5、Navicat Premium STS,第一章 配置系统环境1.1 JDK的下载与安装,下载地址: 安装:运行下载得到的exe文件,安装后的主要目录结构,1.2 Java环境变量的配置,创建JAVA_HOME变量 JAVA_HOME:c:javajdk7 设置path path:%JAVA_HOME%bin; 设置classpath classpath:.; %JAVA_HOME%libtools.jar; %JAVA_HOME%libdt.jar 检测环境变量设置是否成功 环

4、境变量设置并不是必须的!,建议这一句放在最前面,1.3 安装MySQL数据库,MySQL由于强大功能、灵活性、以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache结合,为建立基于数据库的动态网站提供了强大动力!MySQL最早由瑞典的T.c.X公司开发。 MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL主要目标是快速、健壮和易用。它可媲美任何昂贵的大型数据库,但速度更快。自1996年以来,许多机构一直都在使用MySQL。,MySQL的官方发音是“My Ess Que Ell”(不是MY-SEQUEL)。 官方网站:,1.4 安装Dreamw

5、eaver,2.1 JSP计算模式计算模式:描述它们在平台上的分布以及在数据处理中之间的关系。(网络计算结构),第二章 JSP技术概述,2.2 JSP技术简介2.2.1 Web编程技术 Web编程技术随着计算机技术的进步而不断发展。早期的web技术主要以获取静态文本、信息为主。随着互联网技术的发展,静态页面不能适应需求,动态网站技术应运而生。动态网站特性:1)后台数据库支持2)站点信息及时更新3)动态显示效果,补充说明: 静态网页是预先编写好的HTML文件,当浏览器访问时,WEB服务器将文件传送给浏览器,整个过程中网页内容不被改变。 HTML的表单、动态GIF图、FLASH、Applet和浏览

6、器端脚本不等于动态网页。 动态网页可以看作是预先编写好的HTML模板文件。当浏览器访问动态网页时,WEB服务器根据一定的程序逻辑填写模板,并将最终生成的内容传送给浏览器。,常用动态Web编程技术: Perl、ISAPI、ASP、ASP、ASP.net、PHP、JSP、XSP等等。 1.1.2 JSP的特点 适用于任何平台、支持者众多 程序的执行效率高 拥有Java优势,强大的服务器组件 强大的数据库支持 钱途无量的JSP! 提示:在国外,JSP+Servlet+J2EE已经成为开发电子商务的主流技术。,2.2 JSP与主流动态网页技术比较,2.3 JSP的运行 2.3.1 运行环境 JDK。

7、JSP服务器 Resin、Tomcat、Weblogic等等。,2.3.2 常见JSP服务器 Tomcat7的下载和配置 源自著名Apache Group旗下,Apache Group产品: Apache:世界使用排名第一的Web服务器软件。 著名的Struts框架。 大名鼎鼎的Tomcat服务器()。 。,检测安装是否成功,服务器主要配置:confserver.xml文件。 自己开发的网站一般放置在webapps下。 网站配置一般放在自己站点的WEB-INF/web.xml中 Resin 著名的Caucho公司的产品(,2.3.3 JSP执行过程

8、,执行过程:,浏览器,Tomcat,2.3.4 JSP初步体验 我的第一个JSP程序 ,1.如何配置系统环境? 2.分别用tomcat和resin作为Web服务器,配置一个自己的站点,并编写一个显示“欢迎光临本站点”的index.jsp程序。 3.如何将自己站点的默认端口设置为80? 4.站点目录能否放置在webapps以外的其它地方?,思考与练习,第三章 HTML基础,3.1 标记基础 HTML语言是控制网页内容显示格式的标记集合。 1. 基本的HTML语法 在HTML语言中,所有的标记都必须用尖括号(即小于号“”)括起来。 也有一些标记只要求单一标记符号,例如换行标记。 HTML标记不区分

9、大小写。 2. 标记符的属性 所有属性都放置在开始标记的尖括号内。 例如: 心想事成。,3.2 HTML文档的基本结构 1. HTML标记. 2. 首部标记. 和 和 和等等。,3. 正文标记. (1) BACKGROUD:指定文档背景图像的URL地址,图像平铺在页背景上。 (2) BGCOLOR:指定文档的背景颜色。 (3) TEXT:指定文档中文本的颜色。 (7) ONLOAD:指定文档首次加载时调用的事件处理程序。 (8) ONUNLOAD:用于指定文档卸载时调用的事件处理程序。,4. HTML文档的基本结构 HTML文档的基本结构可以表示如下: 标题文字 文本、图像、动画、HTML指令

10、等 5 添加注释 注释由开始标记构成。,3.3 设置文本格式 3.3.1 分段与换行 1. 分段标记P 2. 换行标记BR 标记强行规定了当前行的中断,使后续内容在下一行显示。,3. 标题标记Hn 其中n的取值是1到6;.标记表示字体最大的标题,标记表示字体最小的标题。 4. 水平线标记HR (1) ALIGN:指定线的对齐方式,取值为left(左对齐)、 center(居中对齐)或right(右对齐),默认值为center。 (2) COLOR:指定线的颜色。 (3) NOSHADE:若指定该项,则显示一条无阴影的实线。 (4) SIZE:指定线的宽度,以像素为单位。 (5) WIDTH:指

11、定线的长度。,3.3.2 设置段落对齐方式 使用ALIGN属性来设置段落的对齐方式。 ALIGN属性的取值可以是:left(左对齐)、center(居中对齐)、right(右对齐)以及justify(两边对齐)。 3.3.3 设置字体、字号和颜色 字体标记.来设置文本的字符格式,并通过FACE、SIZE和COLOR属性来设置文本的字体、字号和颜色。 例如: 超文本标记语言,3.3.4 设置字符样式 .粗体 .大字体 .斜体 .删除线 .小字体 .下划线,3.3.5 插入特殊字符 可以使用两种方式来输入特殊符号:即使用字符实体名称或数字表示方式。 例如,若要在网页中输入一个无间断空格,可以输入“

12、 if(theNum=null|theNum.length=0) return false; if theMask.indexOf(theNum)=-1) return false; return true; ,示例2 检查输入是否为空4.3.2 检查输入是否为空(包括空格)function isEmail(theEmail) var email=theEmail;email=email.replace(/(s*)|(s*$)/g, );if (email=) alert(“请输入您的Email地址,地址不能为空!); return false;注意:如何实现光标自动定位?,示例3 电子邮件地

13、址格式的确认 function isEmail(theEmail) var email=theEmail; email=email.replace(/(s*)|(s*$)/g, ); if (email=) alert(“请输入您的Email地址,地址不能为空!); return false; if (email!= ) var notValid=false; var useremail=email; if (useremail.indexOf()=0) notValid=true; if (useremail.charAt(useremail.length -1)=) notValid=tr

14、ue; if (useremail.indexOf(.)=0|useremail.indexOf(.)=useremail.indexOf() notValid=true; if (useremail.indexOf(.)=useremail.indexOf()+1) notValid=true; if (useremail.indexOf(.)=(useremail.length -1) notValid=true; if (notValid) alert(您的Email地址不正确,请重新输入!); return (false); ,3.10 网站设计问题,页面布局安排 网站分析、top安排

15、、颜色搭配、分辨率问题、table使用、图片大小问题 采用包含 静态包含、动态包含 CSS修饰 ,链接的CSS修饰 a.toplnk:link color: #ffffff; text-decoration: none; a.toplnk:active color:#ffffcc; text-decoration: none; a.toplnk:visited COLOR: #ffffff; TEXT-DECORATION: none; a.toplnk:hover color: #ffff00; text-decoration: underline; ,思考与练习:1.如何实现不规则表格?2

16、.如何使用表单提交进行客户端确认?,4.1.1 开始和结束标记 以结尾,格式: 例如: 4.1.2 注释 注释是帮助自己或别人阅读程序。注释可以有两种形式,HTML注释、JSP注释。 HTML注释:,第四章 JSP语法基础 4.1 JSP基本语法规则,HTML注释: 注释的内容会在客户端的HTML源代码中出现。例如: JSP注释 客户端查看源代码时看不到(安全考虑)。格式: 示例:, 用户留言 ,4.2 JSP声明,1、格式: 例如: 2、 JSP表达式和程序段 Jsp表达式的语法形式: 例如: 数值为: Jsp程序段 包含在之间的有效程序段。具体形式: 例如: ,思考与练习:1.JSP注释与

17、HTML注释的差异?2.JSP中如何输出HTML标记? 3. 试说明异常机制?,第五章 JSP的页面元素5.1 JSP指令5.2 JSP动作语法,5.1 JSP指令1. Page指令,“Page”指令用于定义JSP文件中的全局属性。 , 毕业生就业指导服务中心 ,2.include指令,include:向当前页中插入一个静态文件的内容。格式如下: ,示例: 武汉科技学院毕业生就业指导服务中心 ,5.2 JSP动作语法1. 2. 3. ,例子, test ,forwardTo.jsp, ,运行结果(TOMCAT),2.包含一个静:态或动态文件. 常用格式如下: 思考:何时使用,何时使用?,3.

18、在介绍JavaBean时再讨论,思考与练习:1) 掌握文件包含。2)制作一个申请免费email的表单,要求填写:用户名、密码、确认密码、性别、地址,其中性别用单选按钮,用户名、密码为必填项且不能为空。请用客户端确认实现上述功能。3) 上道题目中用户填写的内容显示在屏幕上。4)编写一个程序,验证用户输入的email地址是否正确(使用客户端确认)。5)编写一个用户登录的jsp网页,若用户名为aaa,密码为bbb,则显示欢迎该用户访问的字样,否则显示非法用户。要求使用服务器端确认。6)理解缓存的使用。,第六章 JSP的内建对象request 请求对象response 响应对象session 会话对象

19、application应用程序对象out 输出对象,1.out,“out” 对象代表了向客户端发送数据的对象。 out.print() out.println(); out.close(),out的使用例如:out.println(“武汉”);思考:如何输出一个换行,或者斜体的aaa?,2. request,用于获取客户端的输入信息。主要有以下方法: 1)getParameter(String name)(很重要) 获得客户端传给服务器端的参数值 String usrmerequest.getParameter(“username”); 2)getRequestURI() 获得所请求的URL地

20、址,3)getServerName()获得服务器名称4)getRemoteUser()获得登录用户名5)getServerPort()获得服务器提供HTTP服务的端口号6)getRemoteAddr() (很重要)获得客户端的IP地址。7)setCharacterEncoding(编码类型)(很重要)设置请求的编码类型。8)getRemoteHost()获得客户端计算机名称。一般为IP地址。,3. response对象,用于处理HTTP信息。有以下方法: setHeader(String name, String value) 发送HTTP信息,控制客户端和服务器端连接。例如: respons

21、e.setHeader(“Location”,”); response.setHeader(“Refresh”,”2”); sendRedirect(String url) response.sendRedirect(“”);,4. session对象,“session” 对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session” 对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。,session对象,说明: HTTP是无状态(stateless)协议; Web Server 对每

22、一个客户端请求都没有历史记忆; Session用来保存客户端状态信息; 由Web Server 写入; 存于客户端; 客户端的每次访问都把上次的session记录传递给Web Server; Web Server读取客户端提交的session来获取客户端的状态信息;,理解session:session 对象代表服务器与客户端所建立的会话。当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。例如:在网上商店站点,你做出的每一个购买决定都会放入购物车,他将收集你要购买的商品,以便一次性付钱。即使浏览了几百个网站,订购了数十商品,购物车也能记住你想购买的所有商品。这是因

23、为WEB应用程序有能力记录跟踪会话。记住:每个用户都有自己的session,Session的常用方法: setAttribute(参数名,参数值):设置指定name的属性值value,并存储在session中。 例如:session.setAttribute(“myname”,”tom”); getAttribute(参数名):获取与参数名相联系的属性值。 例如: session.getAttribute(“myname”); removeAttribute(参数名):删除与指定参数名相联系的属性。 例如:session.removeAttribute(“myname”); 应用:可以在同一个

24、网站的不同页面之间共享信息。,session对象示例(Form表单Logon_session.html), 姓名 ,session对象示例Logon_session.jsp, 你的名字已经写入session check ,session对象示例(Check_session.jsp), 您还未登录 已经登录 ,5. application对象,“application” 对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等。application对象负责提供应用程序在服务器中运行时的一些全局信息。 setAttribute(参数名,参数

25、值) 例如: application.setAttribute(counter,1); getAttribute(参数名) 例如: application.getAttribute(counter); 应用:application 对象可以用于网站访问量,或者在线用户的统计等功能。,application对象实现网页计数器, 网页计数器 您是第位访问者! ,运行结果(第一次访问),刷新一次,思考与练习,编写用户登录程序,根据登录用户的不同,显示不同页面。 编写网站计数器。 利用session编写购物车程序。,第七章 JSP中访问文件,7.1文件操作 7.2文件上传的实现,7.1文件操作,1。F

26、ile文件对象 File是java.io包的一部分,它代表一个文件或文件夹的引用。格式: File(String) 创建一个File对象,如果没有指定文件名,则创建一个文件夹。例如: File myfile=new File(“d:counter.txt”); 常用方法:exists()、delete()、mkdir(),2。读取文本文件 FileReader 读取字符流,逐个字符读取,格式: FileReader txt=new FileReader(文件名) 例如: FileReader txt=new FileReader(“counter.txt”),BufferedReader 读取

27、字符输入流,一次读取一行,格式: BufferedReader buff=new BufferedReader(Reader); 例如: BufferedReader buff=new BufferedReader(new FileReader(“counter.txt”); buff.close(); 注意: BufferedReader读取字符输入流,并高效率的缓存起来。,3。写入文本文件 BufferedWriter写入一个带缓冲的字符流。格式: BufferedWriter(FileWriter) 例如: File tmpf=new File(“d:xy.txt”); Buffered

28、Writer outf = new BufferedWriter(new FileWriter(tmpf); outf.write(“123”); outf.close();,文件操作示例,try String filestr=“d:/counter.dat; BufferedReader buff=new BufferedReader(new FileReader(filestr); long tmp; String line; line=buff.readLine(); tmp=Long.parseLong(line); tmp+;,Long tmpint=new Long(tmp); a

29、pplication.setAttribute(visitor,tmpint); String counter=tmpint.toString(); File tmpf=new File(filestr); BufferedWriter outf = new BufferedWriter(new FileWriter(tmpf); outf.write(counter); outf.close(); buff.close(); catch (Exception e) System.err.println(无法更新计数器:+e); ,4。文件输入流,流(Stream)是一个将数据从一个地方运送到

30、另一个地方的一个对象。输入流格式: FileInputStream inStream=new FileInputStream(String); 例如: FileInputStream inStream=new FileInputStream(“d:mylet.zip”);,5。输出流,OutputStream toClient = response.getOutputStream(); 例如: OutputStream toClient = response.getOutputStream(); toClient.flush(); toClient.close();,7.2文件上传的实现,文件

31、上传在web应用中非常普遍,要在jsp环境中实现文件上传功能是非常容易的,因为网上有许多用java开发的文件上传组件。 common-fileupload组件是著名的apache的一个开源项目之一,可以从/commons/fileupload/下载。用该组件可实现一次上传一个或多个文件,并可限制文件大小。,2。具体实现步骤 步骤一:下载commons-fileupload组件 /fileupload,下载得到commons-fileupload-1.2.2-bin.zip,解压出commons-fi

32、leupload-1.2.2.jar。 /io,下载得到commons-io-2.1-bin.zip,解压出commons-io-2.1.jar文件。,步骤二:将commons-fileupload-1.2.2.jar、commons-io-2.1.jar拷贝到自己站点WEB-INFlib下;,步骤三:编写upload.jsp文件,代码如下: Insert title here 文件1 文件2 ,步骤四:编写toserver.jsp文件,代码如下: Insert title here , items = upload.parseRequest(r

33、equest); Iterator iter = items.iterator(); while (iter.hasNext() FileItem item = (FileItem) iter.next(); File fileName = new File(item.getName(); File uploadedFile = new File(getServletContext().getRealPath(/uploadfiles) + / + fileName.getName();/ 传送到服务器uploadfiles文件夾 item.write(uploadedFile); out.p

34、rintln(上传完毕!);, catch (FileUploadException e1) e1.printStackTrace(); catch (Exception e) e.printStackTrace(); % ,运行效果,思考与练习,1.在网上搜集apache 的common-fileupload组件相关资料,完善前面讲过的上传程序。 2. 利用文件操作功能编写网站计数器,并将其与第6章方法进行比较。,第八章 JSP中访问数据库8.1数据库知识简介8.2 MySQL使用8.3 用户登录的实现8.4 数据库记录的修改8.5 数据库修改的优化处理,8.1数据库知识简介,8.1.1 理

35、解数据库 8.1.2 数据库操作的基本语句 1.select语句 Select 字段名 from 表名 where 条件 2.update语句 Update 表名 set 字段名值 where 条件 3.delete语句 Delete from 表名 4.insert语句 Insert into 表名(字段名1,字段名2,) value(值1,值2,),8.2 mySQL使用,1、安装mysql。 2、mySQL的几个常用命令 登录:mysql u root -p 打开数据库:use 数据库名 增加管理员用户: GRANT ALL PRIVILEGES ON *.* TO montylocal

36、host IDENTIFIED BY something WITH GRANT OPTION; 3、使用图形化管理软件Navicat Premium导航猫,8.3 用户登录的实现,8.3.1 连接数据库的两种方式 ODBC、JDBC,8.3.2、测试数据库连接 1、获得JDBC驱动程序 2、在Dreamwearver中测试连接,1、装载驱动程序 装载JDBC-ODBC桥驱动程序 Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); 装载JDBC驱动程序 根据数据库的不同有差异。例如: MySQL数据库: Class.forName(“org.gjt.mm

37、.mysql.Driver”); Class.forName(“com.mysql.jdbc.Driver”); SQL Server数据库:Class.forName(“ com.microsoft.jdbc.sqlserver.SQLServerDriver ”);,8.3.3 通过JDBC连接数据库,设置连接数据库的URL 根据数据库的不同有差异。例如: MySQL数据库: jdbc:mysql:/服务器名/数据库名 SQL Server数据库: jdbc:microsoft:sqlserver:/服务器名:1433;DatabaseName=数据库名 2、利用DriverManager

38、创建与数据库的连接 格式: Connection myconn=DriverManager.getConnection(url,username,password),8.3.4 通过JDBC连接数据库,回忆一下try语句 当发生错误时,采用异常处理机制。JSP采用try-catch结构处理错误。 try-catch的实际意思是:尝试这块可能导致错误的代码。如果它执行正常,那么继续执行下面的程序。如果该代码无法执行,捕获该错误并进行相应处理。 基本形式: try /程序块 catch(ExceptionType e) /对错误的处理,8.3.4 通过JDBC连接数据库,8.3.4 通过JDBC连

39、接数据库,例如: try File cf=new File(“c:/incfiles/counter.txt); catch (Exception e) out.println(“无法找到文件!); ,与数据库连接的示例: try Class.forName(org.gjt.mm.mysql.Driver); Connection myconn=DriverManager.getConnection(jdbc:mysql:/localhost/test,test,test); myconn.close(); out.println(“连接成功!”); catch(Exception e) ou

40、t.println(无法连接数据库!); 思考:如何实现与SQL Server数据库服务器的连接?,8.3.4 通过JDBC连接数据库,关闭连接,8.3.4 通过JDBC连接数据库,3、DriverManager的常用方法 createStatement() Class.forName(org.gjt.mm.mysql.Driver); myconn=DriverManager.getConnection(jdbc:mysql:/localhost/test,test,test); Statement rsp=myconn.createStatement(); prepareStatement

41、(sql语句) Class.forName(org.gjt.mm.mysql.Driver); myconn=DriverManager.getConnection(jdbc:mysql:/localhost/test,test,test); PreparedStatement rsp=myconn.prepareStatement(select * from users);,8.3.4 通过JDBC连接数据库,4、记录集的使用 理解记录集ResultSet ResultSet rs=rsp.executeQuery(SQL查询语句); 回忆循环语句 循环结构是程序中一种重要的基本结构,是指在

42、一定的条件下反复执行某段程序,被反复执行的这段程序称为“循环体”。JSP中有三种语句来实现循环结构,分别是while,do-while,8.3.4 通过JDBC连接数据库,记录集的常用方法 1)next() 2)getString(n)或者getString(“字段名”) 例如: Class.forName(org.gjt.mm.mysql.Driver); Connection myconn=DriverManager.getConnection(jdbc:mysql:/localhost/test,test,test); Statement rsp=myconn.createStateme

43、nt(); ResultSet rs=rsp.executeQuery(select * from users);,8.3.4 通过JDBC连接数据库,访问数据库的完整例子(能否修改成使用PreparedStatement): try Connection myconn=null; Class.forName(org.gjt.mm.mysql.Driver); myconn=DriverManager.getConnection(jdbc:mysql:/localhost/test,test,test); Statement rsp=myconn.createStatement(); Resu

44、ltSet rs=rsp.executeQuery(select * from users); while(rs.next() out.println(rs.getString(1); out.println(,8.3.4 通过JDBC连接数据库,使用PreparedStatement访问数据库: try Connection myconn=null; Class.forName(org.gjt.mm.mysql.Driver); myconn=DriverManager.getConnection(jdbc:mysql:/localhost/test,test,test); Prepared

45、Statement rsp=myconn.prepareStatement(select * from users); ResultSet rs=rsp.executeQuery(); while(rs.next() out.println(rs.getString(1); out.println(rs.getString(2); rs.close(); myconn.close(); catch(Exception e) out.println(无法连接数据库!);,8.3.5 实现用户登录,步骤一:使用request.getParameter()接收用户名、密码 步骤二:构造查询数据库的s

46、ql语句 步骤三:使用PreparedStatement或者Statement查询数据库 步骤四:判断返回的记录集是否为空。由此决定用户是否登录成功! 具体实现,请先思考一下? 另外一个问题:目前能否实现记录的修改?,思考与练习,1)如何获取用户填写的表单数据。 2)建立一个数据表student,存放学生成绩,然后利用Dreamweaver编写网页实现数据库记录的分页显示、记录的修改、记录的添加等。 3)在mySQL中创建超级用户tom。 4)在mySQL数据库中创建数据库gzgl,并创建表users(username c(10),password c(10),usertag n(1) ) ,

47、并向表中添加一条记录。 5)在Dreamweaver中配置与gzgl的数据库连接。 6)如何实现与mySQL数据库的JDBC连接? 7)如何通过配置服务器实现用户登录 8)编写登录页面,实现基于数据库的登录。,8.4 数据库记录的修改,一、利用PreparedStatement的executeUpdate()方法修改记录 PreparedStatement rsp=myconn.prepareStatement( update语句); rsp.executeUpdate(); 二、利用Statement的executeUpdate(sql语句)方法修改记录 Statement rsp=myco

48、nn.createStatement(); rsp.executeUpdate(“update语句);,使用PreparedStatement的executeUpdate()方法的示例 try Connection myconn=null; Class.forName(org.gjt.mm.mysql.Driver); myconn=DriverManager.getConnection(jdbc:mysql:/localhost/test,test,test); String sql=update users set password=888 where username=aaa; Prep

49、aredStatement rsp=myconn.prepareStatement(sql); rsp.executeUpdate(); rsp.close(); myconn.close(); catch(Exception e) out.println(无法连接数据库!);,示例1:PreparedStatement,使用Statement的executeUpdate(sql)方法的示例 try Connection myconn=null; Class.forName(org.gjt.mm.mysql.Driver); myconn=DriverManager.getConnection

50、(jdbc:mysql:/localhost/test,test,test); String sql=update users set password=888 where username=aaa; Statement rsp=myconn.createStatement(); rsp.executeUpdate(sql); rsp.close(); myconn.close(); catch(Exception e) out.println(无法连接数据库!);,示例2:Statement,思考与练习,1)分别用PreparedStatement和Statement修改数据库的记录 2)编

51、写一个页面,利用学生的学号修改学生的基本情况。,8.5 数据库修改的优化处理,基本思路: 一、利用?构造SQL语句 例如:String sql = update users set password=? where username=aaa 二、使用PreparedStatement的rsp.setString(n,字符串值);传递值 三、利用PreparedStatement的executeUpdate()实现数据修改,8.5 示例,try Connection myconn=null; Class.forName(org.gjt.mm.mysql.Driver); myconn=Drive

52、rManager.getConnection(jdbc:mysql:/localhost/test,test,test); String sql=update users set password=88890 where username=?; PreparedStatement rsp=myconn.prepareStatement(sql); rsp.setString(1,ccc); rsp.executeUpdate(); rsp.close(); myconn.close(); out.println(更新完毕!); catch(Exception e) out.println(无法

53、连接数据库!);,思考与练习,1)创建一个页面,可以修改学生注册的用户名、密码,要求采用优化处理方式。 2)编写一个学生信息查询的网页。输入待查询的学生姓名,查询后输出该学生的姓名、专业、籍贯、电话;若没有查到,则显示“查无此人!”。 3)制作一个留言板。要求:任何人可以查看留言,且留言分页显示(每页10条留言)。但只有管理员才可以回复、删除留言。,第九章Servlet的使用9.1理解Servlet,1。认识Servlet Servlet 是封装的Java类,可以认为是服务器上的小应用程序。 其优点: 平台无关性; 执行效率高; 应用广泛;例如:信用卡、在线支付等等。 因此非常适合于服务器端的

54、处理与编程。 其缺点: 不容易表现网页的风格。,9.1理解Servlet,2。Servlet运行环境 编写Servlet源程序(.java)编译为class 放置在服务器相应目录配置web.xml 3。Servlet程序结构 主要由三大部分: 定义包 导入必需的类 声明Servlet名称 初始化、处理用户响应、清除释放资源,package bysservlet; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class Servlet7 extends HttpServlet /Initialize global variables public void init() thro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论