JSP动态Web技术整本书课件完整版电子教案(最新)_第1页
JSP动态Web技术整本书课件完整版电子教案(最新)_第2页
JSP动态Web技术整本书课件完整版电子教案(最新)_第3页
JSP动态Web技术整本书课件完整版电子教案(最新)_第4页
JSP动态Web技术整本书课件完整版电子教案(最新)_第5页
已阅读5页,还剩146页未读 继续免费阅读

下载本文档

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

文档简介

1、JSP动态Web技术深圳职业技术学院软件技术专业JSP概述内容提要4教学目标1235认识JSP安装配置JSP运行环境开发JSP总结与提高基本教学要求职业素质要求: 守时、保质、保量、沟通、协作;课堂要求: 按时出勤,有事请假、和教师配合、有礼貌、师生相互尊重、上课关手机;上课最基本的要求: 必须带教材、课堂笔记、笔作业要求: 按时交作业、规范、保质课程考核本课程考察的重点:Web编程能力学期成绩平时成绩单元项目成绩综合项目成绩课程设计成绩 平时成绩:20单元项目成绩:30综合项目成绩:10课程设计成绩:40教学方法 项目引入预备知识项目实现知识拓展项目牵引讲、学、做结合实战演习灵活运用,知识点

2、整合知识点储备(必须掌握)了解课程本门课程目标:掌握利用JSP的Web开发技术;学会开发一般B/S模式的项目;JavaJbuilder/EclipseJSPStruts框架技术Spring/Hibernate等技术教学项目动态班级网站;学生信息管理系统(B/S)版;新闻发布系统;网上购物系统;在线投票系统留言板教学目标 了解JSP技术的特点以及JSP程序的结构及运行原理;掌握JSP网站运行环境的配置;掌握在Eclipse环境中开发JSP程序的方法。JSP概述概念和意义操 作使 用动态Web技术工作原理JSP技术的特点JSP运行环境的设置JSP开发环境配置JSP工程的创建JSP程序运行与调试静态

3、VS动态网页静态网页HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的。没有后台数据库、不含程序和不可交互的网页。你编的是什么它显示的就是什么、不会有任何改变。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。 动态网页 我的博客:/u/12453709573)JSP动态网站: /index.jsp /comminfo/index.jsp动态网页是以.asp、.jsp、.php、.perl、.cgi等形式为后缀,一般以数据库技术为基础,采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;当用户请求时服务器才返回

4、一个完整的网页;动态网站效果图Web 应用程序Web 应用程序Web 应用程序在 Web 服务器上运行 Web 应用程序的优点: 访问 Web 应用程序更容易 维护和部署成本低 播放一首歌作为响应用户请求播放一首歌认识JSPJava 服务器页面 (Java Server Page ,JSP) 以扩展名 .jsp 保存有效地控制动态内容生成在Java Server Page里面使用 Java 编程语言和类库HTML 用于表示页面,而 Java 代码用于访问动态内容JSP 使用 Java 访问动态内容JSP 页面Java服务器搭建JSP运行环境所必需软件:JDK+服务器+编辑工具JDK:不同版本,

5、如JDK1.4服务器:Tomcat、WebLogic、Websphere、 Apusic Application Server等编辑工具:记事本、Dreamweaver、Editplus等集成开发环境:Jbuilder、Eclipse等开发JSP程序显示当前时间现在时间是演示示例程序改写 Jbuilder新建JSP文件:first.jspDreaweaver设计页面,编写代码运行改写:%int i, sum=0; for(i =1; i 认识JSP 页面元素JSP 页面的元素静态内容指 令表达式ScriptletJSP 页面HTML静态文本以“ ” 结束。比如:声 明动作以“jsp: 动作名

6、” 开始,以“ ” 结束比如:注释动手开发DIY你好, ,欢迎光临我的网站。你刚才输入的密码是演示示例JSP 执行过程客户端JSP 页面3执行2转译编译1Servlet请求响应JSP 执行过程JSP 的优点强调可重用组件JSP 页面 1静态内容动态内容JSP 页面 2静态内容动态内容JSP 页面 3静态内容动态内容JavaBean多个 JSP 页面使用相同的 JavaBeanJSP 的优点简化页面开发Web 设计人员和 Web 程序员使用 Web 开发工具开发 JSP 页面JSP 页面静态内容动态内容Web 开发工具Macromedia DreamweaverEclipse/JBuilder

7、页面设计人员 JSP 程序员总 结JSP 页面使用 HTML 显示静态内容,并使用 Java 代码生成动态内容JSP 页面的元素为静态内容、JSP 指令、JSP 表达式、JSP Scriptlet和注释可以使用标准开发工具创建 JSP 页面JSP 使用可重用的跨平台组件(如 JavaBean)JSP 允许创建自定义标签,使 JSP 开发更容易JSP 执行过程的各个阶段为转译、编译和执行JSP动态Web技术深圳职业技术学院软件技术专业JSP语法与内置对象内容提要4JSP语法1235主题网站网上调查内置对象总结与提高学习目标掌握JSP的基本语法熟练使用JSP内置对象掌握JSP开发环境JSP内置对象

8、概念和意义操 作使 用JSP基本语法JSP内置对象JSP的语法规范常用内置对象应用主题网站设计网上调查智力测验称苹果 有十筐苹果,每筐里有十个,共 100个,其中有九筐每个苹果的重量都是1斤,另一筐中每个苹果的重量都是0.9斤,但是外表完全一样,用眼看或用手摸无法分辨。现在要你用一台普通的大秤一次把这筐重量轻的找出来。 项目引入:主题网站预备知识page指令实例: 作用:指定JSP页面的格式和文字编码(JSP程序必需);实例: 作用:为JSP页面引入java核心包中的类,可指定多个值。总结:page指令用来定义整个JSP页面的一些属性和这些属性的值。预备知识静态include指令格式:说明:文

9、件可以是下列格式:HTML文件;JSP文件;文本文件;Java文件分析:被插入的文件是彼此独立完整的文件吗?总结:把一个文件插入到当前JSP页面,合并成一个新的JSP页面知识储备JSP注释JSP程序注释 格式: 注意:在注释内容中,可以出现除-%之外的任何内容,若需使用,必须使用转义字符“-%”表示客户端注释 格式: 客户端动态注释: 格式: !- - 静态注释内容静态注释内容 - -客户端注释嵌入动态数据,动态数据通过表达式来表示客户端注释是指在客户端HTML源码中显示的注释,JSP引擎不做任何解释,直接输出到客户端HTML源码 JSP程序注释是对JSP程序进行的注释,服务器不会将其发送到客

10、 户端JSP 表达式示例 JSP表达式 PI 的值: 100,99中最大的值 : 100,99中最小的值 : 3+2-5的值 : (3+2)=5的值 : (3+2)!=5的值 :表达式演示:java表达式使用JSP 表达式进行JSP编程JSP 页面元素 示例JSP声明Java程序片JSP 指令JSP 页面元素JSP 页面的元素静态内容指 令表达式Java程序JSP 页面HTML静态文本以“ ” 结束。比如:声 明动作以“jsp: 动作名 ” 开始,以“ ” 结束比如:注释实例分析分析程序:count.jsp :计数器 变量声明程序max.jsp:比较大小 局部变量声明 表达式circle_ca

11、l.jsp:计算圆周长、面积 定义类、方法的程序time.jsp:显示当前日期,以中文方式显示 类的使用总结:变量声明(局部、全局)、方法声明、声明类拓展提高:编写程序,计算1-10的和项目实现新建工程新建Web Applicationhtml文件:head.html、welcome.html、special.htm、connectus.htm运用“include”指令,组合页面: JSP文件:welcome.jsp、 special.jsp、 connectus.jsp调试、运行项目功能改进请大家完成练习思路:减少JSP文件个数;超级链接的附带参数;实现方法:链接方式:修改head.htm文

12、件:专业首页获取链接地址:修改index.jsp文件:request.getParameter(choice);Include指令加载文件功能实现:Form表单参数如下:ACTION:表单处理方式,指定数据传送“目的地”METHOD:数据传输方式,如post或get方法;ENCTYPE:传送表单数据的编码方式Form标记分析:传递数据吗?内置对象JSP 页面隐式对象客户端响应请求 响应请求服务器 request内置对象方法:getParameter(String s)作用:获取客户提交的信息;使用:reques. getParameter(String s);分析:“s”是表单控件的名称;实例

13、练习:获取用户提交数据的程序:request.jsp分析:如果输入中文,出现什么情况JSP 页面request 对象客户端请求信息表示并存储客户端的请求请求服务器中文乱码处理处理思想:首先,将获取的字符串用ISO-8859-1进行编码,并 将编码存放到一个字节数组中String str=request.getParameter(“s”);byte b=str.getBytes(“ISO-8859-1”);Str=new String(b);简写为:String str=new String(request.getParameter(“s”). getBytes(“ISO-8859-1”);使用

14、request对象的其他问题实例:文本框中输入一个数字,计算其平方根代码1:的平方根是:代码2:的平方根是:代码3:=0) result=Math.sqrt(data3); %的平方根是: 请输入一个整数代码4(最终版):=0) result=Math.sqrt(data3);% 的平方根是: 请输入一个正数 请输入数字字符forward动作标签格式: 作用: 从该指令处停止当前页面的继续执行,而转向其他JSP页面。程序分析:forward.jsp0.5) % param动作标签格式: 作用: 该标签可以与jsp:forward或者jsp:include标签一起使用,可以将param标签中的值

15、传递到include指定或者forward指令要加载/转向的页面中。 jsp:param name=number value= / 您传过来的数值是: 项目引入网上调查新建工程页面设计:index.htm、newsselect.jsp、newsok.jsp预备知识session内置对象Cookie:是一条极为短小的信息,能够被网站自动地放置在一台电脑的硬盘中。通过Cookie,网站可以识别你是第一次访问,或是又一次访问它。会话:从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开服务器结束,成为一个;Session用来保存客户端状态信息;客户端的每次访问都把上次的session记录传递

16、给Web Server;Web Server读取客户端提交的session来获取客户端的状态信息;session常用方法public void setAttribute(String key,Object obj); 将Object指定的对象obj添加到session对象中,并为添加的对象指定一个索引关键字;public Object getAttribute(String key); 获取session对象中含有关键字是key的对象,由于任何对象都可以添加到session对象中,取回对象时,应强制转化为原来类型。session.getId();获取session对象的编号 类似方法: ses

17、sion.putValue(namesex,name+sex); String namesex=(String) session.getValue(namesex); 课堂练习:购物车程序session_shop01.jsp:输入姓名session_shop02.jsp:获取姓名,输入商品session_shop03.jsp:显示姓名、商品application对象 生命周期:服务器启动服务器关闭 所有客户的application对象都是同一个。 例如:聊天室程序、计数器程序、留言板程序。 所有客户共享一个application对象常用方法:getAttribute(String name)s

18、etAttibute(String name,Object value) 拓展提高:留言板程序用表单制作的留言板第一个页面申明一个Application对象存储客户的留言。第二个页面取出并显示Application中的信息。第三个页面application_submit.jsp:留言板页面application_messagePane.jsp:获取留言application_showMessage.jsp:显示留言out 对象表示输出流javax.servlet.jsp.JspWriter 类的实例使用 write()、print() 和 println() 方法JSP 页面out 对象客户端

19、创建输出流创建输出流以显示信息 请求输出流在网页上显示输出流服务器out 对象示例演示:示例使用out对象输出使用out对象进行JSP编程课堂练习:完成一个用户注册个人资料的页面作业:完成用户登录、留言程序,实现下面功能:login.jsp:用户登录页面;message.jsp:验证登录用户名和密码,如果用户名是:“张三”,密码是:“123456”,则显示留言页面,否则,返回登录页面。view.jsp:显示留言内容,包括:主题,日期,内容等。总结JSP 表达式包括在 内; java程序包含在内;声明包含在内JSP 指令共有三种类型,即 page、include 和 taglib。JSP 指令包

20、括在 内page 指令用于设置 JSP 页面的属性;include 指令用于在 JSP 页面嵌入其他文件 ;forward动作标签用于页面跳转。JSP 中的内置对象: request、response、out、session、application总结 JSP隐式对象一般分为输入/输出对象、作用域通信对象 、Servlet 对象 和错误对象四类 JSP 中的隐式对象包括 page、config、request、response、out、session、application、pageContext 和 exception JSP 定义的作用域包括 page、request、session 和

21、applicationJSP动态Web技术深圳职业技术学院软件技术专业JSP文件操作内容提要4学习目标1235文件管理器网络日记本文件上传在线测试系统学习目标掌握File类及其常用方法;使用文件流进行文件的在线读写;掌握文件上传下载的应用开发技术。JSP文件操作概念和意义操 作使 用File类及常用方法字符流及常用方法文件和目录操作文件读写文件管理器网络日记本字符过滤流文件上传下载文件上传在线测试File类什么是文件? 文件可认为是相关记录或放在一起的数据的集合File类涉及文件的创建、删除、获取属性等操作,不涉及对文件进行读写操作File(String path) File(String p

22、ath,String name)File(File dir,String name)File类构造方法File类应用编程File 类物理文件或目录构造文件对象操作文件或目录的属性(路径、权限、日期和时间等 ) 文件管理器项目分析获取输入,创建File对象request对象的getParameter()方法创建目录mkdir(),创建文件createNewFile(),删除目录和文件delete();判断是否创建/删除成功exists()方法项目实训要求输入文件或目录路径;选择操作类型选择文件类型输入文件或目录名称操作网络日记本预备知识字符流类Reader类Writer类BufferedRead

23、er和BufferedWiter类字符过滤流,对字符流重新“组装”,数据以块为单位,提高效率;用BufferedReader 读文本文件构造一个BufferedReader对象 FileReader fr=new FileReader(mytest.txt); BufferedReader br=new BufferedReader(fr); 利用BufferedReader的方法读取文本文件的数据 br.readLine(); /读取一行数据,返回字符串关闭相关的流对象 br.close(); fr.close();用BufferedWriter 写文本文件构造一个BufferedWrite

24、r对象 FileWriter fw=new FileWriter(mytest.txt); BufferedWriter bw=new BufferedWriter(fw);利用BufferedWriter的方法写文本文件 bw.write (“hello”); 相关流对象的清空和关闭 bw.flush(); fw.close();演示:示例 项目分析获取系统时间Date类的toLocaleString()方法获取目录绝对路径getServletContext().getRealPath(“/”)读取/写入数据FileReader、FileWriter文件字符流追加写入内容FileWriter

25、(String name,Boolean append)课堂实训输入5名学生信息写入文件读取信息文件上传预备知识表单的ENCTYPE属性 文件上传原理 request调用getInputStream()获得一个输入流; 处理数据流,读入客户上传的全部信息; 分析参数和数据,将文件数据进行存储。File类型表单文件域项目实现上传页面设计上传实现 项目功能改进 选择图片 图片上传 显示图片注意:在一个表单中如果有ENCTYPE=“multipart/form-data”属性,则不能接收除type=File外的其他表单元素类型使用jspSmartUpload上传下载一个可免费使用的全功能文件上传下载

26、组件安装组件表单要求上传页面设计上传处理页面下载链接页面下载处理综合实例在线测试系统试题使用记事本存储,每道试题用“#”开始总结与提高File 类用于访问文件系统流是指一连串流动的字符,是以先进先出方式发送信息的通道流可以分为输入输出流,也可以分为字节流和字符流运用BufferedReader和BufferedWriter也可以读写文本文件,且性能较高文件上传和下载JSP动态Web技术深圳职业技术学院软件技术专业JSP数据库访问技术内容提要4学习目标1235登录注册模块信息浏览模块后台管理模块在线投票系统学习目标掌握JDBC连接数据库技术掌握在Web页面实现数据查询、修改、增加、删除技术掌握数

27、据分页显示了解网站后台的开发和管理JSP数据库访问概念和意义操 作使 用JDBC-ODBC桥数据库操作知识数据库连接数据库操作学生信息系统在线投票系统数据分页显示原理分页显示学生信息系统登录注册模块登录注册模块分析预备知识JDBC JDBC(Java DataBase Connectivity):JDBC是执行SQL语句的API:是第一个标准化地把关系数据库和Java程序集成到一起的尝试; 与一个数据库建立连接; 向数据库发送SQL语句; 处理数据库返回的结果。客户机Java applet或java应用中间件业务规定客户机库SQL请求请求结果存储器数据库服务器存储器加载桥接器驱动程序Class

28、.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); Class是包java.lang中的一个类,该类调用静态方法forName就可以建立桥接器。 注意:处理异常。tryClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);catch(ClassNotFoundException e) 连接到数据库 使用java.sql包中的Connection类声明一个对象; 使用DriverManager类调用静态方法getConnection创建这个连接对象 Connection con=DriverManager.getConnect

29、ion(“jdbc:odbc:数据源名字”,”login name”,”password”);假设数据库students的数据源的名称为sun,建立的方法为:try Connection con = DriverManager.getConnection(jdbc:odbc:banji);catch(SQLException e)连接到数据库向数据库发送SQL语句用Statement声明一个SQL语句对象;调用连接数据库的对象con调用方法createStartment()创建SQL对象;try Statement sql=con.createStatement(); Catch(SQLExc

30、eption e) 处理查询结果 查询对象:ResultSet类声明的对象; SQL语句对象:调用方法对表查询和修改;ResultSet rs=sql.executeQuery(“select * from 表名”); 多行数据显示方法:ResultSet对象一次只能看到一个数据行,使用next()方法移到下一数据行: rs.next()数据库连接过程建立数据库stuinfo,建立数据表user_info建立数据源:banji步骤:控制面板ODBC数据源系统(用户)DSN添加不同数据库驱动程序完成数据源名选择数据库装载驱动程序;连接数据库;创建Statement接口对象;处理结果集模块实现设计

31、首页:index.jsp注意: form的action属性“login_check.jsp”; 用户名文本框:name属性“name” 密码文本框:name属性“password”验证登录:“login_check.jsp”用户注册页面:register.jsp模块分析插入文件项目分析保存用户名session对象调用setAttribute(String key,Object value)方法重定向response对象的sendRedirect(“index.jsp”),实现从当前页面引导到另一个页面。课堂实训用户登录后,点击“个人信息管理”,如图4所示,该页面可对用户的密码、真实姓名进行修改

32、,请完成该页面设计及功能实现编码。学生信息浏览模块学生信息查询 分页显示问题分析限制非法用户登录“ login_name”是存储在session中对应的保存成功登录者的帐号如果没有在会话期内获取session中存储的用户名,则说明没有正确登录登录失败,使用response对象的sendRedirect(URL url)重定向到index.jsp页面信息查询实现数据库设计功能实现“main.jsp“设计查询页面编程程序分析模糊查询用用SQL语句操作符like进行模式般配,使用“%”代替一个或多个字符,用一个下划线“_”代替一个字符当查询值为字符类型时,需要加“ ”结果集Result的next()

33、方法可以顺序查询,最初游标定位在第一行之前,当游标移动到最后一行后返回false获取记录集,使用ResultSet对象的rs.getXxx()方法获取对应字段的数据分页显示算法思想 原理解析:假设总记录为m,每页显示数量是n,那么总页数的计算公式是:如果m除以n的余数是n,总页数等于m除以n的商加1;如果m除以n的余数等于0,总页数等于m除以n的商。 即:总的页数=(m%n)=0?(m/n)(m/n+1); 如果准备显示第p页的内容,应当把游标移动到第(p-1)*n+1条记录处。预备知识游动查询 Statement statement=con.createStatement(int type,

34、int concurrency); type的取值决定滚动方式,取值还可以是:TYPE_SCROLL_SENSITIVE 指针能够向前或向后自由移动,其他ResultSet对象变动指针时,会影响指针的位置;TYPE_SCROLL_INSENSITIVE 指针能够向前或向后自由移动,其他ResultSet对象变动指针时,不会影响指针的位置。 Concurrency取值决定是否可以用数据集更新数据库CONCUR_READ_ONLY: 不能用结果集更新数据库中的表;CONCUR_UPDATEABLE: ResultSet对象中的数据可以读也可以修改,不能用结果集更新数据库中的表;程序分析清除空格tr

35、im(String)方法 if (showPage1) % a href=?showPage=&select=&query= % if (showPage a href=?showPage=&select=&query= 地址链接参数传递课堂实训完成密码重设功能后台管理模块数据维护程序分析信息添加 String condition=insert into Student values(+number+,+name+,+sex+,+age+,+classes+); sql.executeUpdate(condition);信息删除String condition=delete from Stud

36、ent where id= +id; sql.executeUpdate(condition);信息修改 String condition=update student set number=+number+,+name=+name+,+sex=+sex+,+age=+age+,class=+classes+where id=+id; sql.executeUpdate(condition);课堂实训新闻浏览新闻分类栏目管理系统验证新闻管理综合实例在线投票系统投票模块survey.jsp计数模块vote.jsp显示模块view.jsp程序分析投票率:img src=view.gif width

37、= height=8 % 得:票 共:票ResultSet rs = sql.executeQuery(select * from vote); String rb = request.getParameter(type); String condition = Update vote Set numb=numb+1 where id= + rb; sql.executeUpdate(condition);投票内容显示投票信息更新投票率用百分比和条形图显示Math.floor():返回不大于参数的最大整数课堂实训管理员身份登录验证管理页面新增投票项目模块删除投票项目模块修改投票项目模块总结与提

38、高 数据库连接对动态网站来说是最为重要的部分,java连接数据库的技术是JDBC, java可以通过JDBC和JDBC-ODBC桥访问关系型数据库。JDBC是一种可用于SQL语句的java API,它由一些java语言编写的类和界面组成,很多数据库系统带有JDBC驱动程序,java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等,而这些具体操作必须由SQL命令来完成。JSP动态Web技术深圳职业技术学院软件技术专业JSP与JavaBean内容提要4学习目标1235猜数游戏班级新闻网班级相册总结提高学习目标了解JavaBean的基本组成与工作原理掌握JavaBean的程序抽象、编写掌

39、握JSP中调用JavaBean的方法JavaBean技术设 计调 用使 用JavaBean的结构JavaBean的属性使用JavaBean获取JavaBean的属性值猜数游戏班级新闻网JavaBean的方法修改JavaBean的属性值班级相册猜数游戏游戏开始,产生随机数填写数字,一次次与随机数比较验证逻辑交给JavaBean处理组件思索:之前的jsp程序的编写中,html与java代码之间的关系是什么?程序设计技术以及工具产生的原因?如何让HTML代码与java代码进一步分离?软件组件指一个个具有一定功能的,且被封装好的软件模块,形象地称为软件黑匣子。 组件保存的状态,也成为属性 一定条件下,

40、组件还可以触发一些事件外部调用组件的方法完成一定任务JavaBean技术 JAVABEAN是一种基于JAVA的软件组件;类似于Microsoft的COM组件的概念!JavaBeans特点:可以实现代码的重复利用;易编写、易维护、易使用; 跨平台 JAVABEAN 的模型 package 包名; public class 类名 构造方法(); 属性(Property); 方法(Method);分析:编写JavaBeans就是编写一个Java的类,这个类创建的一个对象称作一个beans。JavaBean文件编写要点类名称与保存的文件名称必须是一致的,同时,类必须声明为公有类,类中方法的访问属性都必

41、须是public;构造函数的名称必须与类的名称一致,主要用来初始化,无参数输入;Javabean类中的方法:类的成员名字是xxx,获取和更改xxx形式如下: getXxx():获取属性xxx; setXxx():修改属性xxx;boolean型属性,允许用is代替get和set类中方法的访问属性必须是public类中构造方法必须是public,并且是无参数;属性值设定/读取方法public void set设定方法名称(数据类型 参数) this.变量=参数;例如: public void setSQL(String SQL) this.JavaSQL=SQL;语法结构:public void

42、 get读取方法名称() return this.变量=参数;例如: public void getSQL(String SQL) return this.JavaSQL;注意:属性值的读取方法名称一般以get开头,加上方法名称设 定读 取JSP中使用JavaBean语法格式: jsp:useBean id=“给bean起的名字” scope=“bean有效范围” class=“创建beans的类” “|”表示可选部分; 例如: 设置属性值: girl.setRadius(100); 获取属性值: 项目实现新建工程;新建Web应用;创建JavaBean:GuessNumber.java;设置属

43、性:answer(实际答案)、guessNumber(用户猜测数)、guessCount(猜数次数)setGuessNumber方法(业务逻辑)getGuessNumber方法getGuessCount方法getResult方法setAnswer方法getAnswer方法编写Jsp文件(使用JavaBean)index.jspGuess.jsp程序解析定义一个JavaBean的实例setProperty动作标签设置beans属性的值jsp:setProperty name=beans的名字 property=beans的属性 value=字符串 getProperty动作标签获得beans的属

44、性值 JavaBean生命周期Scope的取值:Page: 该beans的有效范围是当前页面,离开这个页面时,JSP引擎取消分配给该客户的beans。Session: 该beans的有效范围是客户的会话期间。Request: 该beans的有效范围是request期间 Forward跳转的页面之间共享该bean;sendRedirect()重定向不行;Application: beans的生命周期最长,可以和jsp引擎相当,所有客户共享,只有当重新启动Tomcat时,该Tomcat下的所有jsp程序共享该范围的bean;班级新闻网新闻栏目新闻列表新闻内容后台管理管理员登录新闻添加新闻修改、删除

45、JavaBean把常用的数据库功能都封装起来,例如打开数据库、关闭数据库、执行查询、插入数据项目实现前台设计数据库,数据表mynews(p150)设计JSPnews.jsp、view_news.jsp、view_news_detail.jsp编写JavaBeanDBconn.java项目实现后台管理登录页面login.jsp验证登录login_checked.jsp新闻编辑主页面news_main.jsp新闻记录删除news_del.jsp新闻记录添加news_add.jsp、news_add_f.jsp新闻信息修改news_edit.jsp、news_edit_f.jsp预处理Prepare

46、Stament连接数据库建立数据库建立ODBC数据源(系统DSN)数据库连接引入java.sql.*加载驱动程 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);建立连接 Connection con =DriverManager.getConnection(jdbc:odbc:数据源);建立预处理 PreparedStatement ps=con.prepareStament(str)设置每个“?”参数的值,如ps.setString(1,name);ps.setString(2,name)执行PreparedStament的对象ps.execute()

47、;或是获取查询结果ResultSet rs=ps.executeQuery()后处理结果集关闭结果集rs.close()关闭预处理ps.close()关闭连接con.close()班级像册数据表photo编写JavaBeanDBconn.java前台文件:设计页面photo.jspview_photo.jspview_photo_detail.jsp后台文件:uploadfiles.htmlshowfiles.jspphoto_main.jspphoto_del.jspphoto_add_f.jspphoto_edit.jdp总结与提高 JavaBean特征public公共类无参的public

48、构造方法一组符合命名规范的set和get方法JavaBean属性SimpleIndexedBoundConstrained调用JavaBeanjsp:useBeanJSP动态Web技术深圳职业技术学院软件技术专业JSP与Servlet内容提要4学习目标1235彩色验证码购物车留言板总结与提高学习目标 了解Servlet生命周期 掌握Servlet和JSP的交互技术 掌握常用的Servlet API应用 了解基本的Web应用开发模式Java Servlet概念和意义操 作使 用Servlet工作原理Servlet生命周期编写ServletServlet与表单的交互彩色验证码购物车会 话Servl

49、et访问数据库留言板Servlet彩色验证码防范恶意网站下载软件防止不经过本网站而使用网站资源Servlet可以方便调用Java相关的类库进行图像操作验证码是一个在Web服务器上生成的随机字符串验证码以图片形式显示图片中字符串使用旋转字符、添加背景纹理等技术认识Servlet 是Java编程语言中的一个类; 服务器端的Java应用程序; 可生成动态Web页面; 用于处理客户机和服务器之间的消息传递; Servlet不支持图形用户界面; Servlets利用输出HTML语句来实现动态网页;客户端Servlet 运行于服务器上JSP与Servlet的联系 从 Jsp的角度,servlet实际上是j

50、sp被解释执行的中间过程; jsp实际上是为了让Servlet 的开发显得相对容易而采取 的脚本语言形式 jsp实际上就是Servlet,jsp实际上转换成servelt,然后编译执行; jsp与servlet的不同编程方式不同 jsp遵循脚本语言的编制标准; servlet严格遵循java 语言的编程标准;运行速度的不同Jsp比servlet运行慢,jsp必须转换成servlet 再运行;运行方式不同Servlet是java程序,必须编译成 .class 文件执行,jsp直接由Tomcat将以执行;为什么要学习servlet编制jsp程序时,使得编程更具结构化; jsp是为了便于 编制 se

51、rvlet而开发的脚本程序语言;为了更深入进行jsp编程; 学习servelt是解决高难度的jsp问题非常有用;Servlet可以弥补jsp的弱点;jsp 职责是承担页面处理的工作; 内部数据的处理由servlet或者JavaBean 来进行;HTTP Servlet 基础知识HttpServlet 类提供一个抽象类以创建 HTTP Servletpublic void doGet(HttpServletRequest req,HttpServletResponse res)doGet() 方法处理客户端作出的 GET 请求。public void doPost(HttpServletRequ

52、est req,HttpServletResponse res)doPost() 方法处理客户端作出的 POST 请求。Servlet 的生命周期 Servlet 容器创建 Servlet 的一个实例Servlet 的生命周期就是指创建 Servlet 实例之后其存在的时间以及何时消失实例化Servlet 容器创建 Servlet 的实例初始化该容器调用 init() 方法服 务如果请求 Servlet,则容器调用 service() 方法销毁实例之前调用 destroy() 方法销 毁不可用销毁实例并标记为垃圾收集项目实现验证码的产生编写Servlet文件VefifyCode.java创建登

53、录验证码校验页面设计login.jsp验证码验证编写Servlet文件Check.java配置web.xml 完成了Servlet的映射,程序运行的IE地址栏:http:/localhost:8080/app61/verifycode,verifycode映射VerifyCode.java文件。 verifycode /verifycode verifycode app61. verifycode 完成了对Servlet的名称(VerifyCode)和Servlet的类之间的映射,把名称为verifycode的Servlet映射到app61包中的VerifyCode.class。两个名称必须相同程序解析Servlet文件通过实现javax.servlet.http.Ht

温馨提示

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

评论

0/150

提交评论