您好,欢迎光临本网站![请登录][注册会员]  
文件名称: J2EE教程
  所属分类: 其它
  开发工具:
  文件大小: 593kb
  下载次数: 0
  上传时间: 2019-07-28
  提 供 者: weixin_********
 详细说明:NULL 博文链接:https://baitai.iteye.com/blog/783645J2EE 51.2会话状态管理 怎样保持和传递会话信息,这是web应用开发者必须面对的问题。下面用一个简单的 Wcb项目“网上问卷调查”来演示会话状态的管理。 第个页面( sessiontestlhtml)要求输入用户名字。它包含个HTML表单用于接收用 户信息,然后将其保存在 request范围内以传递给下一页。 sessiontestl htm页面代码如下所示。
/bodv> 57 5,1JsF示例 不手以 J2EE String username request getparameter (username") session. setAttribute(username, username)i 您好 1m、 !您最想去的地方是

ut type=text name=place"> input type=submit value=submit">

sessiontest2jsp页面的显示效果如图5.3所示。 窗囗{帮助D ,」包r」日巅,0,,些e⑥兽 百 Yy-rhnsR 您好Kcvn!慈最想云的地方 见记录生 四 图5 n2jsp页面的显示效果 第三个页面( sessiontest3jsp)用于显示问卷调查结果。它从 session中提取 username的 值并显示出来,保存在 request中的变量不能再传递到新的页面,而保存在 session中的变量 则适用于会话中的所有页面。 sessiontest3jsp页面的代码如下所示。 String username -(String) session, getAttribute(username)i tring place request get Parameter("place 最想去的地方是 %=place%> 第5章J2EE基砷知识例析 58 J2EE sessiontest3jsp页面的显示效果如图54所示。 追浏搜索(3 r·创·9。竭势0,%·G·到M邮x 包碘源理m8 J sesslortes: Z. spJ'sesslortes:sp 色 问题务 Browser E控8)、maFe2李库巧源万证录 Tma51aa应用程序] thnyjawaw.eX(m5161)画B部|日, packe sf 图54 ssiontest3jsp页面的显示效果 51.3引用 JavaBean组件 为了说明 JavaBean组件在JsP中的应用,卜面创建了一个名为 NoliceBean的 Java bean NoticeBean类有3个属性,即d(公告ID)、 title(标题)和 content(内容)。 set/ get方法分 别用于设置与提取这几个属性。在实际应用中, Noticebean应当从数据库中提取属性值,此 处简化了这个过程,允许对属性值任意改定。 Notice bean类的源代码如下。 package demoi public class NoticeBean I /公告ID st //标题 S七ri: /内容 public Not iceBean()t public String ge=Content()t return content: public void set Content (String content) t this 工:() return id public void setId(int id) t this id=idi public String ge-Ti=le() i return title P id setritle(s 59 5,1JsF示例 J2EE 在JSP页面中应用上述 Notice Bean要用到 ]sp: useBean>标记。 beantest. jsp是一个应用上 述 Notice bean的示例页面,其源代码如下。 %a page contentType=text/html charse-=gb2312" language="java"> roticecean. petTit1e("今天星期几?") coticecean, setccntent("星期一") %> 第一个问题 回答 Content(% % noticebean. setTitle("明天呢?"); noticebean. setContent("星期二"); 第二个问题 <1s 回答 标记内定义了几个属性,其中id是整个JSP页面内该Bcan的标识,scop 指定了该Bean存在的范围, class属性说明了该Bean的类文件(从包名开始) beantest. jsp不仅使用了Bean的set和get方法改置和提取属性值,还用到了提取Bean 属性值的第种方法,即使用标记。jsp: getProperty>中的name属性即为 p: use Bean>中定义的Bean的d,它的 property属性指定的是目标属性的名字。 beantest. jsp 页面的显示效果如图5.5所示。 x 文件)辅源代性5車利训览搜索项目( MyEclipse Concat行(窗口()助出 已」分」,恩恩蹋 用 MyEclipSe J2E 包泥空 ear 第一个问短:令大是几 -I-1 rml I5 回答;旱期 第二个问:明天唧 dvd应用程序] 5t11t localhost Setup 图5.5 beantest jsp页面的显小效果 第5章J2EE基砷知识例析 60 J2EE 52 Servlet示例 Servlet是JSP的基础,事实上,在Wcb服务器中,JSP经编译之后都将转换为 Servlet 本节将创建个 Servlet例程 Servlettest. java,它生成整个 HTML Web页面。 ServletTest. java 的源代码如下。 cage deo import java.i.大 import javax. servlet. *i importJavax.servlet.http.* ubl lass Servletrest extends Httpservlet private static final long serialversionJID= lli public vcid doget (htTpservletrequest request EttpservletrespcnSe respcnse throws _EXcept ServletExceptior i respo:se· setConlt Printwriter out= response. getWriter( out printin (")i out printin("Servletrest<title>") out printin("<body>) relet demo!</h1>"); out printIn ("</body>")i 上面是一个完整的 Servlet的例子,如果要运行它,必须在Web应用的配置文件 web. xml 中对其进行配置,这部分的代码如下。 <?xm version=1.0 encoding=UTF-8"?> <web-appxnmlns=http://java.suncom/xml/ns/i2ee xmins:x51-http://www.w3.org/2001/xmtSchhema-instance version=2. 4 xs1: schemalocatiol http://java.sun.com/xm1/ns/j2eahttp://java.suncom/xm1/ns/j2ee/web- <serv⊥et> <servlet-cl ass>demo. ServletTest</sevvlet-class> </servlet> <servlet-mapping> erv已 <url-cattern>/servlettests/url-cattern /servlet-ltapping> 要注意< servlet元素及< servlet-mapping>元素中的 servlet-name>的值必须一字不差,否 则将出现错误。运行本例后,显示效果如图56所示。 5.2 Servlet示例 不手以 J2EE ly Eclipse Web Browser 件)缔轻源代码(重T浏)搜(4i项目(P)My E MMyFrlinse DF his is a servlet demo 问题任劳bBar控制台 52\ Imge P-cviow cvs:市|cv资源历记录 图5.6 a的运行效果 53JDBC示例 本节将介绍如何使用⑩DBC米连接及操作几种常用的数据库。例程的实用性非常强,适 用于各种应用。关于JDBC的理论,此处介绍得并不多,读者可以自行查阅相关资料。 5.3.1建立数据库及表 本节主要使用 MySQL数据厍进行演示。在 MySQL数据库服务器中,使用如下的SQL 语句建立起数据库及表。 create database if not exists javaweb USE javaweb drop table if exists Javaweb. 'notice CREATE TABLE notice d int(11) NOT NULI auto increment, //公告ID ititle varchar (300) NOT NULL /标题 content textr //内容 PRIMARY KEY ( id) 殳置ia为主键 数据库名为 javaweb,表名为 notice。从代码中可以看到 notice表包含3个字段:id、 title 及 content这是一则公告的基本属性。 53.2使用JDBC操作数据库 JDBCTest. java是一个使用JDBC来操作数据库的例程,它涵盖了操作数据库的基本操作: 连接、查询、删除、插入(未实现修改操作,实际上修改操作与插入操作差不多,这里留给 读者作为练习)。 例程也提供了连接 Oracle及SQL. Server2000数据库的方法,读者可以尝试在不同数据 库中使用。如下是 JDBCTest. java的源代码。 第5章J2EE基砷知识例析 62 J2EE import Java. sg import demo. Notice Bean public class UDRCTest. i public static void main(string args onnection connectior=nu⊥⊥ tatement statement nulli Resultset resultSet nulli try //迕接 MySQL数据库 gg]tmm. mysqL Class forName(driverName). newInstance(); Stxi2g1r⊥= jdbc: mysql: //loca-hos-: 3305/JavaWeb?useUniccde=true &character coding=yb2 connection DriverManager getCornection(url, root","root") system.out, printin(”连接 MYSQL5.0.18成功!驱动3..12)”) //用到的各个变量 statement nulli NoticeBean bean nulli string tit tring content -nu-1 /′对数据库的插入操作 try 标题 content="闪容"; stra1="⊥NS上RI⊥ Nrc notice itit1e, content) VALUES(!"+tit1e t ccntent ' statement- connection. createstatement ( statement. executeUpdate(strsql)i System,out. print⊥n("插入语句执行成功;"+ strss1) 1 catch (SQLException ex1) System. out 插入失败 /′对数据库的查询操作 trsq⊥="SEL三CT*ERMr: otice" statemeat onnection. createstatemert( ResultSet. YPE SCROLL INSENSITIVE resultset statement executeQuery (strsql)i if (resultset next() irt id= resultset getint(id")i resultset content resultset getstring("content") if resultset next())i bean rew NoticeBean (id, title, ccntent Syscem.out, println(" notice表的第行数据是:"-ean. getId()+" A catch (SQLException exl) System.ut. print1n("查询失败!") /′对数据库的删除操作 63 JDC示例 J2EE statement= connectior. createstatemertoi tatement System. out. printIn(" 表的所有数据己破删除 I catch SQlException exI, I 1n("删除失败 t catch (Exceptio try resultset close() if (connection ge()) /迕接 Oracle9i ng n thir: localhost: 1521: kevini DriverManager. getConrect:on(rlr i kevin) System.out.prnt-n("迕接 Oracle9i成功!"); on,c⊥ose(); } catch三 xception e) e printstackTrace() //连接 SOL Server2000 t String name - com. microsoft jdbc sqlserver. SOLServerDriver String url=jdbc: microsoft: sqlserver: //localhost: 1433: DatabaseName=Javaweb"; Class forName(name). newInstance); Connection con Dr- verManager getConnection (url sa) System.out, print_n("连接 SOl Server200成功!") con. close o e. printstackTr 第5章J2EE基砷知识例析 64</B> </div> <div class="title2"><div class="title_more">(系统自动生成,下载前可以参看下载内容)</div><h2>下载文件列表</h2></div> <div class="font12"> </div> <div id="show_memo" class="show_info"> <div class="title2"><h2>相关说明</h2></div> <div class="box_content"> <ul> <li>本站资源为会员上传分享交流与学习,如有侵犯您的权益,<a href="/about/contact.php" target="_blank">请联系我们删除</a>.</li> <li>本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行<a href="https://www.baidu.com" target="_blank">百度</a>。</li> <li class="red">本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用<a href="http://rarlab.com/download.htm" target="_blank">WinRAR最新版</a>进行解压.</li> <li>如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录<a href="/user/log.php?type=5" target="_blank">反馈给我们</a>.</li> <li>下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录<a href="/user/log.php?type=5" target="_blank">反馈给我们</a>,经确认后退回积分.</li> <li>如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.</li> </ul> </div> </div> <div class="detail_line">  <B>相关搜索</B>: <a href="/search.php?keyword=J2EE教程" target="_blank">J2EE教程</a> </div> <form name="search" action="/search.php" method="get"> <div class="detail_line">  输入关键字,在本站1000多万海量源码库中尽情搜索:<INPUT maxLength="50" size="20" name="keyword" value=""> <input type="submit" value="搜 索" name=_search2>  </div> </form> </div><!-- Show end. --> </div> <div id="sidebar" class="fr"><!-- Left begin --> <!--频道分类开始--> <div class="box"> <div class="title"><h2>下载资源分类</h2></div> <div class="channel_sort"> <h3><a href="/21/">移动开发</a></h3> <h3><a href="/16/">开发技术</a></h3> <h3><a href="/15/">课程资源</a></h3> <h3><a href="/19/">网络技术</a></h3> <h3><a href="/12/">操作系统</a></h3> <h3><a href="/10/">安全技术</a></h3> <h3><a href="/18/">数据库</a></h3> <h3><a href="/14/">行业</a></h3> <h3><a href="/13/">服务器应用</a></h3> <h3><a href="/11/">存储</a></h3> <h3><a href="/20/">信息化</a></h3> <h3><a href="/17/">考试认证</a></h3> <h3><a href="/22/">云计算</a></h3> <h3><a href="/23/">大数据</a></h3> <h3><a href="/24/">跨平台</a></h3> <h3><a href="/25/">音视频</a></h3> <h3><a href="/26/">游戏开发</a></h3> <h3><a href="/27/">人工智能</a></h3> <h3><a href="/28/">区块链</a></h3> </div> </div> <div class="box"> <div class="title"><h2>资源分类</h2></div> <div class="channel_sort"> <h3><a href="/1601/">Actionscript</a></h3> <h3><a href="/1602/">C</a></h3> <h3><a href="/1603/">C#</a></h3> <h3><a href="/1604/">C++</a></h3> <h3><a href="/1605/">Delphi</a></h3> <h3><a href="/1606/">Java</a></h3> <h3><a href="/1607/">Javascript</a></h3> <h3><a href="/1608/">Perl</a></h3> <h3><a href="/1609/">PHP</a></h3> <h3><a href="/1610/">Python</a></h3> <h3><a href="/1611/">VB</a></h3> <h3><a href="/1612/">Web开发</a></h3> <h3><a href="/1613/">硬件开发</a></h3> <h3><a href="/1614/">其它</a></h3> <h3><a href="//"></a></h3> </div> </div> <div class="box"><!--本站统计开始--> <div class="title"><h2>本站统计</h2></div> <UL class="info_ul"> <LI>资源总数:<b>630</b>万个</LI> <LI>资源大小:<b>15</b>TB</LI> <LI>今日更新:468个</LI> <LI>注册人数:225万</LI> <LI>今日注册:838</LI> </UL> </div><!--本站统计结束--> <div class="box"><!--Intro begin.--> <div class="title"><h2><a href="/register.php">加入“点数信息”会员</a></h2></div> <div class="box_content">   “点数信息”是专业的,大型的源码,编程资源等搜索,交换平台,旨在帮助软件开发人员提供源码,编程资源下载,技术交流等服务!目前源码资源大小已超过8TB。<br>   超值价格,购买下载积分,即时到帐,无需等待马上可以下载你所需的资料。无限期使用,一次购买越多越优惠!<br> </div> </div><!--Intro end.--> <div class="box"><!--Intro begin.--> <div class="title"><h2><a href="/register.php">免费获取积分</a></h2></div> <div class="box_content">   免费获得积分的途径是通过会员下载您上传的资料,您的帐户即增加积分。<br>   立即上传资料,越多越好,被搜索到的机会越大!越早上传越早得积分,下载次数越多,您的积分越多。<br> </div> </div><!--Intro end.--> <!--合作伙伴开始--> <div class="box"> <div class="title1"><h2>合作伙伴</h2></div> <!--推荐商家具体内容开始--> <div class="channel_friend"><!--最多七个字--> <ul> <li><a href="http://www.codeproject.com/" target="_blank">CodeProject</a></li> <li><a href="http://www.dssz.com/" target="_blank">搜珍网</a></li> <li><a href="http://www.5177517.com/" target="_blank">建筑工程网</a></li> <li><a href="http://www.csdn.net/" target="_blank">CSDN.net</a></li> <li><a href="http://www.5imomo.com/" target="_blank">建筑资料网</a></li> </ul> </div> </div> </div><!-- Left end --> </div> <div id="footer"> <div class="content"> <div class="cr"> 客服QQ:6133080 <a href="mailto:info@dssz.net">联系站长</a> · <a href="/about/guestbook.php" rel="nofollow">版权投诉</a> · <a href="/about/guestbook.php" rel="nofollow">网站修改建议</a> </div> <div class="cl"> © 1999-2048 <a href="https://www.dssz.net" target="_blank"><font color=red>dssz.net</font></a> <a href="https://beian.miit.gov.cn/" target="_blank">粤ICP备11031372号</a> </div> </div> </div> </body> </html> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); //--> </SCRIPT>