电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> JSP教程
JBuilder2005实战JSP之登录页面(2)-JSP教程,Jsp/Servlet
作者:网友供稿 点击:43
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
将用户列表改为动态

  目前创建的login.jsp有一个缺陷,假设在数据库后台t_user表中添加其他的用户时,因为用户名下拉框是静态的代码,新创建的用户并不会出现在页面中,因此有必要将用户名列表改为动态的代码,用数据库表t_user的记录动态产生下拉框的数据。

  我们通过userlist.ava类来完成这个工作,在工程中创建userlist.java,其代码如下:

  代码清单 5 userlist.java

1. package bookstore;
2. import java.sql.*;
3.
4. public class userlist
5. {
6.  //获取html下拉框的用户列表代码
7.  public static string getuserlisthtml() {
8.   connection conn = null;
9.   stringbuffer sbuf = new stringbuffer();
10.  try {
11.   conn = dbconnection.getconnection();
12.   preparedstatement pstat = conn.preparestatement(
13.     "select user_id,user_name from t_user");
14.   resultset rs = pstat.executequery();
15.   while (rs.next()) {
16.    sbuf.append("<option value=" + rs.getstring("user_id") + ">" +
17.    rs.getstring("user_name") + "</option>\n");
18.   }
19.   return sbuf.tostring();
20.  } catch (sqlexception ex) {
21.   ex.printstacktrace();
22.   return "";
23.  } finally {
24.   try {
25.    if (conn != null) {
26.     conn.close();
27.     conn = null;
28.    }
29.   } catch (sqlexception ex1) {
30.  }
31. }
32. }
33. }

  userlist.java只提供了一个静态的getuserlisthtml()方法,这个方法从后台数据库的t_user表中获取用户记录,并生成html的select组件的选项代码,如第16~17行所示。

  在创建这个类后,我们引用该类调整login.jsp的代码,首先在page指令标签中通过import属性引用userlist类,然后将select选项中的内容调整为getuserlisthtml()方法返回的值,如下图所示:


图 7 通过codeinsight编写代码

  通过表达式标签替换原静态的html代码,值得提起的是,在jsp中也可以象在编写一般的java类中一样使用codeinsight输入代码。调整后的login.jsp的代码如下所示,用粗体表示:

  代码清单 6 调整后的login.jsp代码

1. <%@page contenttype="text/html; charset=gbk" import="bookstore.userlist"%>
2. <html>
3. <head>
4. <title>login</title>
5. </head>
6. <body bgcolor="#ffffff">
7.  <表单 name="表单1" method="post" action="switch.jsp">用户名:
8.   <select name="userid">
9.    <option value="" selected>--登录用户--</option>
10.    <%=userlist.getuserlisthtml()%>
11.   </select>
12.   密 码:<input name="password" type="password">
13.   <input type="submit" name="submit" value="登录">
14. </表单>
15. </body>
16. </html>

  保存login.jsp后,在内容窗格login.jsp文件标签中点击右键,选择web run using defaults,jbuilder 将启动tomcat 5.0应用服务器,运行于8080端口上,编译并运行login.jsp文件,如下图所示:


图 8 在jbuilder中运行login.jsp

  jbuilder自动切换到web view视图页中,显示页面的运行效果。但jbuilder的浏览器对网页的支持效果很弱,也不支持javascript脚本。所以在运行login.jsp后,最好通过ie来查看网页的效果,你只需要打开ie,并将jbuilder中的访问login.jsp的地址拷贝到ie的地址栏中就可以了,如下图所示:


图 9 用ie访问jbuilder中运行的login.jsp

  此时用户名的下拉框中的用户已经是动态的用户列表中,当t_user表中添加、删除用户时下拉框的用户也会相应地改变。

  在运行jsp前最好先单独编译一个这个jsp文件:在内容窗格的jsp文件标签上点击右键,在弹出的菜单中选择make "xxx.jsp",即可完成对jsp文件的编译,及时发现错误。jsp文件和java文件在编辑时,最大的区别是java程序文件一有错误就会在编辑器和结构窗格中列出,但jsp文件的有些错误需要通过编译才能发现。

  提示:

  由于编译jsp文件需要先将其转换为servlet文件,然后再编译这个中间servlet文件,发生错误后转定向到jsp文件中,所以编译一个jsp文件是比较耗时的,往往比编译一个java文件要花好几倍的时间。在默认的情况下,编译一个工程时,会编译整个工程中所有的jsp,需要消耗大量的时间。所以最好取消在编译工程连带编译jsp文件的设置:通过project->project properties...->build-> 在build设置页中取消check jsps for errors at build-time选项。在确实需要的时候再勾选这个选项,并在编译后及时取消这个选项。通过这样的设置将可以为你的开发赢得不少宝贵的时间。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·IReport与JasperReport开发详解一-JSP教程,Java技巧及代码
·JSTL(JSP标准标签库)介绍-JSP教程,资料/其它
·格式化输入日期时间控件 JieFormattedDateBox-JSP教程,Java技巧及代码
·JSTL简化JSP编码-JSP教程,Jsp/Servlet
·JUnit和单元测试入门简介-JSP教程,Java技巧及代码
·从数据库中读取一个图片并保存为一个图片文件-JSP教程,数据库相关
·Java Swing入门基础-JSP教程,Java技巧及代码
·IntelliJ IDEA培训-JSP教程,Java技巧及代码
·通过JSP的预编译消除性能瓶颈-JSP教程,Jsp/Servlet
·Java中利用JMF编写摄像头拍照程序-JSP教程,Java技巧及代码

最新文章
·J2ME中的时间处理方法
·J2ME播放声音流程简介
·J2ME开发之手机键盘使用注意问题
·J2ME 记录管理存储
·MVC模式在j2me项目中的应用(二)
·MVC模式在j2me项目中的应用(一)
·J2ME中使用记录存储系统(RMS)存储信息
·J2ME与MIDP开发(1)
·用简单的J2ME程序测试MIDlet的生命周期
·JAVA基础:提升JSP应用程序的七大绝招


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号