




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaWeb 期末总复习一、 搭建开发环境1、 JDK的安装、设置及测试2、 Tomcat应用服务器的安装、设置及测试3、 MyEclipse和Tomcat的相结合。JavaWeb其实指的就是利用JSP、Servlet和XML等技术制作的网站,但是用JavaWEb开发的网站比利用HTML制作的静态网页要复杂得多,它要结合数据库、SSH框架和Ajax技术等高级技术,那么Web服务器是如何与浏览器交互的呢?(1) 用户打开IE输入URL(2) 根据URL地址找到Web服务器,并向其发出请求(request)(3) Web服务器接收到请求,就会做出相应的处理,并生成处理结果(4) Web服务器会把处理后生成的响应结果返回给请求的浏览器(5) 浏览器接收到相应后,就会对其结果 解释,最终将结果以网页的形式展示给用户。常用的Web服务器:Tomcat(Apach组织提供的一种Web应用服务器,提供一种可以对JSP和Servlet运行的轻量级的JavaWeb容器)JBoss(一个重量级的JavaWeb服务器,提供对J2EE各种规范的良好支持而且JBoss通过了Sun公司的J2EE认证,是Sun公司认可的J2EE容器)Weblogic(是一个可应用开发、部署和管理的大型Web开发的Java应用服务器,是Bea公司专门为企业电子商务应用系统开发的)要求掌握:1、 搭建JDK开发环境环境变量的设置JDK环境的测试2、 搭建Web部署环境Tomcat的下载与安装环境变量的设置发布Web应用程序3、 搭建MyEclipse的开发环境下载MyEclipse开发环境与Tomcat相结合二、Servlet技术Servlet的任务就是得到一个客户的请求,再发回一个响应。请求可以很简单,如:“请给我一个页面”,也可以很复杂,“为我的购物车结账”。这个请求携带一些重要的数据,你的Servlet代码必须知道怎么找到和使用这个请求。响应也携带着重要信息,浏览器需要这些信息来显示一个页面。你的 Servlet必须知道怎么发送这些信息。或者不发送(比如你的Servlet也可以把请求传递给其他人(另一个页面、servlet或者JSP).Servlet是JavaWeb开发技术中比较常用的技术,它通常是和JSP搭配使用,JSP负责前台页面的展现,而Servlet主要负责后台的业务处理。它可以使用doGet和doPost以及servie方法动态地处理页面的请求。要求掌握:1、 Servelet的生命周期2、 doGet和doPost方法的区别与使用3、 Servlet容器处理请求消息的方式4、 获取请求信息数据的方法5、 Servlet技术的具体应用(一)servlet技术Servlet是用Java编写的Java Servlet应用程序设计接口及相关的类和方法。Servlet不能像一般的Java程序一样可以在开发环境中直接运行,它必须载入Web服务器(例如在Tomcat中)并在Web服务器内执行。Servlet可以动态地扩展Server的能力,并采用“请求-响应”的模式提供Web服务。1、 Servlet的功能主要功能在于交互式地浏览和修改数据,生成动态的Web内容。Servelet可以实现的主要功能:l 可以创建一个内容完整的、动态的HTML页面l 可以与数据库或其他的Java应用程序互相访问l 支持多个客户端的同时访问并且可以接收客户端传递的消息l 支持图像转换等特殊MIME类型的过滤2、 Servlet的特点Servlet导入特定的属于Java Servlet API的包,因为是对象字节码,可动态地从网络加载,与其他的动态网页技术相比,Servelet技术有很多自己的特点。高效性:主要表现在Servlet处理客户端的请求响应的效率比CGI高。功能强大:主要表现在Servlet能够直接和Web交互,而普通的CGI却不能。可移植性好:主要表现在Servlet无须任何实质上的改动即可移植到Apache、Microsoft IIS或其他的Web服务器上。使用方便:主要表现在能自动解析HTML表单数据,读取和设置HTTP相应头、处理Cookie、跟踪会话状态等。3、 Servlet的创建创建一个类并继承抽象类HttpServlet继承HttpServlet的访问类型为public 的方法,并且覆盖其中的doGet()和doPost()方法创建HttpServletRequest对象来获取客户端利用HTTP协议发送的请求信息。创建HttpServletResponse对象获取处理的结果,并将它返回到发出请求的客户端(二)Servlet的生命周期Servlet是一种可以在Servlet容器中运行的组件,那么理所当然就应该有一个从创建到销毁的过程,这个过程称之为Servlet的生命周期。Servlet的生命周期可以分为:加载、创建、初始化、处理客户请求和卸载5个阶段。1、 加载Servlet:服务器启动的时候加载或者客户端第一次请求时加载。2、 创建一个Servlet实例:容器创建一个Servlet实例对象。3、 初始化:容器调用init()方法对Servlet实例进行初始化。4、 服务:当容器接收到对此Servlet的请求时,将调用service()方法响应客户请求。5、 销毁:容器调用destroy()方法销毁Servlet实例在Servlet生命周期的这几个阶段中,初始化init()方法仅执行一次,是在服务器装载Servlet时执行的,以后无论有多少个客户访问此Servlet,都不会重复执行init().即此Servlet在容器中只有单一实例;当多个用户访问此Servlet时,会分为多个线程访问此Servelet实例对象的service()方法。在service()方法内,容器会对客户端的请求方式进行判断,如果是Get方式提交,则调用doGet()进行处理;如果是Post方式提交,则调用doPost()进行处理。(三)、HttpServletRequest类的功能l 通过Get和Post方法获取请求消息Get和Post的区别:两者都能发送参数,但是对于Get的话,对参数值有限制。参数数据只能是放在请求行的内容。Get是单方面得到某些东西,它不会修改服务器上的任何内容。而Post则用于发送数据,Servlet使用POST数据来更新数据库。l 通过URL获取请求消息http:/lcalhost:8080/proj/index.jsp?name=li&password=123l 通过GetHeader方法获取请求信息/获取客户的平台和浏览器信息 String client=request.getHeader(“User-Agent”);(四)、HttpServletResponse类的功能谁来实现HttpServletResponse接口?是容器,这些类在API中吗?不在,因为它们要由开发商来实现。l 设置响应类型response.setContentType(“application/jar);/发回一个下载页面l 设置输出流Printwriter out=response.getWriter();/把文本数据打印到一个字符流ServletOutputStream out=response.getOutputStream();Out.write(aByteArray);/用于其他任何内容l 设置响应首部response.setHeader(“roo”,”bar”);/为响应设置一个新首部和值response.addHeader(“roo”,”bar”);/为响应增加一个首部调用setContentType(“text/html”);时,就是在设置一个首部,相当于:swtHeader(“content-type”,”text/html”);l 设置重定向如果你不想自己处理响应,可以把请求重定向到一个完全不同的URL,或者把请求分派给Web应用的另一个组件(通常是一个JSP)。response.sendRedirect(“”);/重定向在URL中使用相对URLs.前面可以有“/”或者没有斜线重定向让客户来完成工作,而请求转发要求服务器上的某某来完成任务重定向=客户,转发=服务器RequestDispatcher rd=request.getRequestDispatcher(“result.jsp”);Rd.forward(request,response);3、 Servlet会话跟踪HTTP是无状态的连接,对于容器来讲,每次请求来自于一个新的客户。对客户的每一个请求,容器会生成一个唯一的会话ID,并通过响应把它给客户,客户在以后的每一各请求中发回这个会话ID,容器看到ID后,就会找到匹配的会话,并把这个会话与请求关联。(一)Cookie机制1、什么是Cookie?Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来,当浏览器再次请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。如何查看某个网站颁发的Cookie?在浏览器地址栏上输入:javascript:alert(document.cookie)就可以了注意:Cookie功能需要浏览器的支持,如果浏览器不支持Cookie(如大部分手机的浏览器)或者把Cookie禁用了,Cookie功能就会失效。不同的浏览器采用不同的方式保存Cookie。2、记录用户访问次数Java中把Cookie封装成了javax.servlet.http.Cookie类。每个Cookie都是该Cookie类的对象。服务器通过操作Cookie对象对客户端Cookie进行操作。通过request.getCookie()获取客户端提交的所有Cookie类对象(以数组形式返回),通过response.addCookie(Cookie cookie);向客户端设置CookieCookie对象使用key-value属性对的形式保存用户状态,一个Cookie对象保存一个属性对,一个request或者response同时使用多个Cookie。容器会生成会话ID,创建新的cookie对象,把会话ID在cookie中,把cookie设置为响应的一部分等等工作,都是由容器负责,对于后续的请求,容器会从请求中的cookie得到会话ID,将这个ID与现有的会话匹配,并把会话与当前请求关联。在响应中发送一个会话cookieHttpSession session=request.getSession();(向请求要一个会话,容器会负责余下的事情,第一次会发送一个cookie)从请求中得到会话ID:HttpSession session=request.getSession();(得到会话ID)(二)session机制除了使用Cookie,Web应用程序还经常使用Session来记录客户端状态。Session是一种服务端使用的一种记录客户端状态的机制。使用上比Cookie简单一些,相应的也增加了服务器的存储压力。1、 什么是SessionSession是一种记录客户端状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是如果说Cookie机制是通过检查客户身上的“通行证“来确定身份的话,那么Session机制就是通过检查服务器上的”客户明细表“来确认身份。Session相当于程序在服务器上建立的一份客户档案,客户来的时候只需要检查客户档案表就可以了。2、 实现用户登录Session对应的类是javax.servlet.http.HttpSession类,每个来访者对应一个Session对象,所有该客户的状态信息都保存在这个Session对象里。Session对象是客户端第一次请求服务器时创建的。Session也是一种key-value的属性对,通过getAttribute(String key)和setAttributer(String key,Object value)方法读写客户状态信息。Servlet里通过request.getSession()方法获取该客户的Session。Servlet必须使用request来获取HttpSession对象,而JSP中内置了Session隐藏对象,可以直接使用。3、 Session的生命周期Session保存在服务器里,为了获取更高的存取速度。服务器一般把Session存放在内存里。每个用户都会有一个独立的Session。如果Session过于复杂,当大量客户访问服务器时会导致内存溢出,因此Session里的信息应尽量精简。Session在用户第一次访问服务器时自动创建。注意:只有访问、Servlet 等程序时才会创建SessionSession生成后,只要用户继续访问,服务器就会更新Session的最后访问时间,并维护该Session。用户每访问服务器一次,无论知否读写Session,服务器都认为该用户的Session“活跃(avtive)“了一次。4、 Session的有效期为了防止内存溢出,服务器会把长时间没有活跃的Session从内存中删除。这个时间就是Session的超时时间,如果超过了超时时间没访问服务器,Session就自动失效了。Session的超时时间可以在web.xml中修改, Tomcat中Session的默认超时时间是20分钟。另外通过Sessionde invalidate()方法可以使Session失效。如何删除无用的(不活动的)会话?(1) 超时(2) 在会话上调用invalidate()(3) 应用结束(崩溃或取消部署)在DD中配置会话超时:在DD中配置会话超时与在所创建的每一个会话上调用setMaxInactiveInterval() 方法效果相同。 . 15设置一个特定会话的会话超时:session.setMaxInactiveInterval(20*60);/20分钟后就杀死5、 Session中的常用方法Session中包括各种方法,使用起来要比Cookie方便很多。6、 Session对浏览器的要求虽然Session保存在服务端,对客户端是透明的,它的正常运行任然需要客户端浏览器的支持。这时因为Session需要使用Cookie作为标志。HTTP协议是无状态的,Session不能依据HTTP连接来判断是否为同一客户,因此服务器需要向客户端发送一个名为JSESSIONID的Cookie,它的值为该Sessionde id. Session依据该Cookie来识别是否为同一用户。(三)Cookie和Session的比较Cookie和Session都可以进行会话跟踪,但是实现的原理不太一样。一般情况下二者均可以满足需求。但是有时候不可以使用Cookie。有时候不可以使用Session。可以从以下几个方便比较:1、从存取方式上比较Cookie只能保存ASCII字符串,如果需要存取Unicode字符或者二进制数据,需要进行UTF-8,GBK或者BASE64等方式的编码。Cookie中也不能直接存取Java对象若要存储稍微复杂的信息,使用Cookie是比较困难的而Session中可以存取任何类型的数据包括不限于String、Integer、List、Map等。Session中也可以逐渐保存JavaBean乃至Java类使用起来非常方便,可以把Session看做是一个Java容器类。2、从隐私安全上比较Cookie是保存在客户端浏览器中,对客户端是可见的,客户端的一些程序可能会被窥探,复制甚至修改Cookie中的内容,而Session是保存在服务器上的,对客户是透明的,不存在敏感信息泄露的危险如果选用Cookie,比较好的方法是,敏感信息和账号、密码等尽量不要写到Cookie中,最好是像Google、Baidu那样将Cookie信息加密,提交到服务器后再进行解密,保证Cookie中的信息只有自己能读得懂,而如果现则Session就省事多了。反正是放在服务器上Session里任何隐私都可以。3、从有效期上比较Cookie的maxAge属性可以支持长久的登录有效。Session就不能实现而且如果Session的超时时长过长,服务器累计的Session就会越多,越容易导致内存溢出。4、 从对服务器的负担上比较每个用户都会产生一个Session,如果并发访问的用户非常多不适合选择Session。5、 从浏览器上比较如果禁用了Cookie则无法使用Cookie4、 JSP基础、JSP指令和动作、JSP内置对象JSP变成Servlet:这个servlet不用你来创建。容器会查看你的JSP,把它转换成Java源代码,再编译成完整的Java servlet类。但是我们要知道,JSP的代码转换成Java 代码时到底发生了什么。最后,JSP变成一个 servlet.你的JSP最终会变成一个Servlet,在web 应用中运行,它与其他的servlet非常相似,只不过这个servlet类会由容器为你编写。容器拿到你的JSP,把它转换为一个servlet类源文件(.java),然后把这个源文件编译为java servlet类,在此之后他就是名副其实的Servlet了。容器会找到这个Servlet,实例化并初始化,为每个请求建立一个单独的线程,并调用Servlet的service()方法。一、JSP概述(1)JSP是Sun公司倡导、多家公司参与编写的一种动态网页技术标准,JSP是Servlet的扩展。与Servlet一样,JSP也是一种基于Java的服务器端技术,其目的是简化建立好管理动态网页的工作。在传统的HTML文件中插入Java程序片段和JSP标签,就构成JSP页面,其扩展名为.jsp(2)JSP与Servlet的比较:JSP是一种服务器端脚本语言,它降低了Servlet的难度。JSP本质上就是Servlet,JSP提供了Servlet能够实现的所有功能,实际上JSP首先是先被翻译成Servlet后才编译并运行的,所以JSP几乎拥有Servlet的所有优点。与Servlet相比,JSP更加适合制作动态页面,JSP通过标签库等机制能很好的与HTML结合。(3)JSP执行原理:客户端发出请求,容器收到请求后检索对应的JSP页面,如果该JSP页面时第一次被请求,则容器将其翻译成Servlet,然后将翻译后的Servlet编译成字节码,然后加载到内存中执行。将执行的结果(响应)发回给客户端。当该JSP页面被再次请求时,只要JSP没有发生改变,则直接调用已装载的字节码文件,不会再次翻译和编译。(二)JSP的基本结构l JSP文件的基本元素: JSP注释: JSP声明: 用于声明所生成的servlet类的成员JSP表达式: 表达式会成为out.print()的参数JSP脚本:l JSP动作l JSP指令有三种方式可以用来在你的网页中加入Java代码:1、使用declarations(声明),可以定义全局变量或是在页内任何地方都可以访问的Java方法。声明被包含在标记中。2、使用scriptlets(脚本片断),你能书写页内处理所需的任何逻辑,它们包含在标记内。3、Expressions(表达式),包含于中。它提供一种简单的方法来显示Java表达式的结果。被附加上的表达式将被计算并在页面上显示出来,就好像你已经在代码中明确写出了运算结果的数值一样。(三)JSP的指令1、page指令 指令为你提供了一条途径,可以在页面转换时向容器提供特殊的指示。指令有3种:page、include和taglib例如:%page import=”java.util.*%该指令的意思就是在这个JSP页面中,导入Java软件包,以便以后的JSP代码使用。JSP的page指令用于设置页面的各种属性(1) import属性导入多个包或者写成两句:%page import=”java.util.*” %page import=”anypack.*” %默认情况下,java.lang.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*包被自动导入,因此不需要import它们(2) content属性和pageEncording属性contentType设置Type和Encoding,pageEncoding只设置EncodecontentType相当于设置头部的返回信息,下面的代码设置response的信息类型MIME和字符集Servlet和JSP默认的编码(Encode)是ISO-8859-1,默认的类型是text/html如果只改变编码:可简单的用pageEncoding实际上,就编码而言,不推荐设置对特定语言的支持,采用UTF-8编码就可以支持全世界多数语言的正常显示。(3) session属性例如:session 设置网页是否在session中,默认值为true(4) errorPage属性和isErrorPage属性(5)buffer属性和autoFlush属性它们设置out变量(JSP的内置变量)的缓冲区大小。例如:第一行代码的含义是网页内容应该至少缓冲到32kb,才显示给用户。从效果上看,可能看到网页的内容一行一行地显示,而不是一次显示多行。autoFlush属性控制是否当缓冲区满了后,就自动“冲洗”,默认为true(6)info属性例如:其实,它相当于Setvlet的getServletInfo()方法。(7)isThreadSafe属性默认为true(8)isELlgnored属性是JSP2.0的心特性,用来说明是否忽略JSP的EL,默认值是false,即支持表达式语言。2、include 指令JSP的include指令用于静态包含JSP、HTML文件。例如:file可以是HTML文件,Servlet或者另外一个JSP文件。3、taglib指令JSP的taglib指令用于指定JSP页面中使用的标签库(四)JSP标准动作 JSP中可以使用语法格式的一些特殊标记来控制行为,称为标准动作。useBean标准动作用来查找或者实例化一个JavaBean setProperty标准动作用于设置JavaBean的属性 getProperty标准动作用于输出某个JavaBean的属性 include标准动作用于在页面中引入一个文件 forward标准动作用于把请求转发到一个页面param标准动作用于为其他动作标签提供附加参数信息,与、等一起使用。(五)JSP内置对象Servlet、JSP中输出数据都需要使用out对象,Servlet中的out对象是通过response.getWriter()方法获得的,而JSP中并没有定义out对象,却可以直接使用。这是因为out是JSP内置的隐藏对象。JSP中有9个内置对象,使得JSP比Servlet使用起来更加简单,更加方便。JSP中内置对象有out、request、response、session、application、config、page、pageContext、exception。1、 out输出流对象out对象是javax.servlet.jsp.JspWriter类的实例,服务器向客户端输出的字符内容可以通过out对象输出。out对象的常用方法print(),println()和writer(),可以方便的向客户端输出各种数据。其他常用方法:void clear():清空要输出的内容void clearBuffer():清除缓冲区的当前内容,即使在缓冲区已经被刷出也不会抛出异常void flush():输出缓冲区中的内容。Void close():关闭输出流2、 request请求对象request是javax.servlet.ServletRequest类的实例,代表着客户端的请求,包含所有从浏览器发往服务器的请求信息、例如请求的来源、Cookie和客户端请求相关的数据等。request对象常用的方法:String getParameter(String name):根据参数名得到单一参数值String getParameterValues(String name):根据参数名得到一组参数值Void setAttribute(String name,Object value):以键/值的方式存储数据Object getAttribute(String name):根据名称得到存储的值。3、 response响应对象response对象是javax.servlet.ServletResponse类的实例,是服务器对客户端的请求作出的动态响应,并且通过response 对象将数据发送到客户端浏览器,如:Cookie、HTTTP文件头信息等,每次服务器端都会有一个response实例。常用的方法:void setContentType(String name):设置响应的类型和字符编码void sendRedirect(String url):重定向到指定的URL资源。4、 config配置对象config是javax.servlet.ServletConfig类的实例。ServletConfig封装了配置在web.xml中初始化JSP参数。JSP中通过config获取这些参数,每个JSP文件共有一个 config对象。常用方法:String getInitParameter(String name):返回指定名称的初始化参数值。Enumeration getInitParameterNames():返回所有初始化参数的名称集合。ServletContext getServletContext():返回Servlet上下文。String getServletName():返回Servlet的名称。5、 session会话对象session是javax.servlet.http.HttpSession类的实例.session和cookie是记录客户访问的两种机制。Session用于在服务器端保存用户信息。Cookie用于在客户端保存客户信息。Servlet中需要通过request.getSession()来获得session对象,而JSP中可以直接使用。常用方法:void setAttribute(String name,Object value):以键/值方式存储数据Object getAttributer(String name):根据名称得到存储的数据6、application应用程序对象application是javax.servlet.ServletContxt类的对象。application封装了JSP所在Web应用程序的信息。例如:web.xml中配置的全局的初始化信息。Servlet中的application对象需要通过ServletConfig.getServletContext()来获取。这个Web应用程序对应一个application对象。该对象的生命周期开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在。所以只要某用户的application对象的生命周期内,就可以在任何地方,任意时间对此对象的同一属性进行操作,并且这些操作都将影响到其他用户对他的访问常用方法:void setAttribute(String name,Object value):以键/值方式存储数据Object getAttributer(String name):根据名称得到存储的数据7、page页面对象page为javax.servlet.jsp.HttpJspPage类的实例,page对象代表当前JSP页面,是当前JSP编译后的Servlet类的对象。page相当于普通Java类中的关键字this8、pageContext页面上下文对象pageContext提供了对JSP页面所有对象及名字空间的访问,代表了当前JSP页面编译后的内容,它提供了四种取值范围。page、request、session、application、9、exception异常对象 Exception为javax.lang.Exception类的对象,exception封装了JSP中抛出的异常信息,要使用exception隐藏对象,需要设置exception通常被用来处理错误页面。五、技术JDBC连接数据库的流程作为一门众所周知的数据库连接技术,它可以连接的主要关系数据库有:Sqlserver、Oracle、Sybase、DB2 、Access及MySQL。JDBC数据库连接的具体过程:1、 加载驱动程序在Java程序中,可以通过Class.forName(指定数据库的驱动程序)“方式来加载驱动程序例如:加载MySQL的数据库驱动程序 com.mysql.jdbc.Driver其中com.mysql.jdbc.Driver就是由JDBC API驱管理器指定的MySQL数据库的驱动程序。以下是几种常用的数据库驱动程序Oracle驱动程序:oracle.jdbc.driver.OracleDriverSQL Server驱动程序:com.microsoft.jdbc.sqlserver.SQLServerMySQL驱动程序:com.mysql.jdbc.Driver2、 通过DriverManager类创建数据连接对象DriverManager类作用与程序和JDBC驱动程序之间,检查所加载的驱动程序是否可以建立连接,然后通过调用其getConnection方法会创建一个JDBC Connection对象。如Connection con=DriverManager.getConnection(数据库的URL,用户名,密码),其中,连接数据库的URL=协议名+IP地址(域名)+端口+数据库名;例如:创建MySQL的数据库连接的代码:Connection con=DriverManager.getConnection(“jdbc:mysql:/localhost:3306/myuser”,”root”,”root”);3、 创建Statement类并执行Stat用于执行静态的SQL语句并返回它所生成结果的对象,通过Connection对象的createStatement()方法可以创建一个Statement对象,例如:Statement st=con.createStatement();通过该对象的excuteQuery()和excuteUpdate()方法可以对静态SQL语句进行执行,其中excuteQuery()主要用于数据的查询,而excuteUpdate()方法用于数据的更新,包括:插入和删除等操作。例如:可以查询表中的所有数据ResultSet rs=st.executeQuery(“select * from userdetail);可以向表中插入一条记录St.excuteUpdate(“Insert into user(username,userpass)”+”Values(limei,123)”);4、 查看返回的ResultSet结果集ResultSet就表示查询数据库后返回的数据的集合。ResultSet对象是由执行Statement的excuteQuery()方法后得到的。ResultSet对象具有可以指向当前数据库行的指针,通过该对象next(),使指针指向下一行,然后将数据以行号或字段名取出。如果当next()方法返回null,则表下一行中没有数据存在。5、 关闭数据库连接如果使用完数据库或感觉不需要访问数据库时,可以通过Connection的close()方法及时关闭数据连接。六、JSP与JavaBean的关系1、Java Bean在JSP中的开发和访问方法l JavaBean如何应用在JSP页面上,在很大程序上,Java类与JSP的交流方式是通过JavaBean。l JavaBean不过是遵守一些简单规定的Java类而已。在JSF和Struts之类的框架中,JavaBean充当网页与后台更多Java类之间的桥梁。l 在Java SE中,一个JavaBean就是一个简单的Java类,它包括一些属性以及Getter和Setter方法。l 例如:package com.haiersoft.entity;public class UserBean implements Serializableprivate String name;private String pass;public String getName() /Getter,用jsp:getProperty标记访问return name;public void setName(String name) /Setter,用jsp:setProperty标记访问 = name;public String getPass() return pass;public void setPass(String pass) this.pass = pass;l 以上的Java类就是一个简单的JavaBean,所谓的POJO(Plain Old Java Object)就是这种JavaBean,只是POJO经常代表的是Presistens(即数据库)l 在JSP以及其他建立在JSP基础上的Java Web框架(如:JSF和Struts)中,Java Bean经常用来代表网页上的表单,即把表单的数据放到Java Bean属性中。l 如果要在JSP网页中使用这个Bean,要按照下面JSP语法把它导入。l 然后创建这个Bean的一个对象:id的值定义了Bean的对象名为user,class 指明了Bean的类名,如果id不存在就建立一个新的。scope值指出对象的范围,如果不关闭浏览器而刷新JSP页面,那么网页中的Bean对象总是第一次调用该网页时的对象。也就是说关闭浏览器然后再次调用JSP网页,会创建新的Bean对象。默认范围是page。2、Java Bean与表单的对应 Java Bean在JSP中的一个主要作用就是建立用户输入的表单参数和Java Bean的属性的对应,效果相当于把网页上的数据,传送到Java类中,当这种对应建立后,就能用到JSP的Bean标记来处理用户的输入。例如:表单login.jsp 用户名: 密 码: 单击提交后,调用showbean.jsp JSP动作 用户名: 密 码: 在showbean.jsp中,首先用js
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生医疗类试题及答案
- 维修钳工试题及答案
- 图形逻辑测试题及答案
- 8.5.2 直线与平面平行的性质2课时-2025年高一数学新教材同步课堂精讲练导学案(人教A版2019必修第二册)含答案
- 2025年医疗机构物业服务协议
- 2025年婚后子女教育与管理协议
- 2025年房产交换协议示范文本
- 2025年市场营销与广告推广合作协议
- 2025年二手车辆分期付款协议
- 2025年环境保护项目投资合作协议样本
- MOOC 数字电子技术-中南大学 中国大学慕课答案
- MOOC 兽医外科手术学-华中农业大学 中国大学慕课答案
- 三D打印公开课
- 《医疗质量管理办法》解读
- 小学数学强基计划模拟测试3
- 中职学考《职业道德与法律》考试复习题库(含答案)
- 苏少版四年级美术全册知识点归纳
- 胸痹心痛病中医护理方案完整课件
- 程序的循环结构课件高中信息技术必修计算与数据
- 急性胃肠炎的护理管理
- 天然气分子筛脱水装置工艺设计
评论
0/150
提交评论