Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
3.2 开发平台
基于My Eclipse和oracle 对运行环境的要求,并考虑到目前学校的计算机硬件设备的实施情况,本系统采用Tomcat 6.0服务器,MyEclipse 8.5作为开发测试和运行平台。
3.3分页技术问题 3.3.1 JDBC和分页
在使用数据库的过程中,不可避免的需要使用到分页的功能,可是JDBC的规范对此却没有很好的解决。对于这个需求很多朋友都有自己的解决方案,比如使用Vector等集合类先保存取出的数据再分页。但这种方法的可用性很差,与JDBC本身的接口完全不同,对不同类型的字段的支持也不好。这里提供了一种与JDBC兼容性非常好的方案。
Sun的JDBC规范的制定,在JDBC1.0中,对于一个结果集(ResultSet)你甚至只能执行next()操作,而无法让其向后滚动,这就直接导致在只执行一次SQL查询的情况下无法获得结果集的大小。所以,如果你使用的是JDBC1.0的驱动,那么是几乎无法实现分页的。
好在Sun的JDBC2规范中很好的弥补了这一个不足,增加了结果集的前后滚动操作,虽然仍然不能直接支持分页,但我们已经可以在这个基础上写出自己的可支持分页的ResultSet了。
有一些数据库,如MySQL(和PHP搭配之最佳组合),比如MySQL(和PHP搭配之最佳组合)可以使用limit子句,Oracle(大型网站数据库平台)可以使用ROWNUM来限制结果集的大小和起始位置。这里以Oracle(和JAVAWEB搭配之最佳组合)为 所进行的更新,添加,删除,查询操作,成功后都会2秒后自动跳到新闻列表页 创建person表的语句: create table person (id varchar2(20), name varchar2(20), password varchar2(20) );
插在person 表中的用户名和密码如下:
insert into person values('luxiang','luxiang','luxiang'); insert into person values('yangsi','yangsi','yangsi');
insert into person values('liaofangjie','liaofangjie','liaofangjie'); insert into person values('licuiting','licuiting','licuiting');
insert into person values('zhangchunyan','zhangchunyan','zhangchunyan'); commit;
创建note表的语句: create table note
(
id varchar2(10), title varchar2(20), author varchar2(20), content varchar2(200) );
在插入新闻时note 表中的主键是由序列生成 创建序列的语句:
create sequence note_sequ;
3.4程序几个功能模块的主要代码 1.用户登录 Login.jsp
登陆界面,用户登录的表单. <%
//判断是否有错误信息,若有则打印 //如果没些代码,则显示时会直接打印null if(request.getAttribute(\{ %>
<%=request.getAttribute(\<%
} %>