【JSP设计栏目提醒】:网学会员JSP设计为您提供JSP新闻发布系统(Myeclipse JSP SQL)参考,解决您在JSP新闻发布系统(Myeclipse JSP SQL)学习中工作中的难题,参考学习。
目 录
1 引言 2
2 系统分析 3
2.1 功能需求分析 3
2.2 本系统采用的关键技术 4
2.2.1 JSP技术 4
2.2.2 JavaBean技术 4
2.2.3 JDBC技术 5
2.2.4 用JDBC访问数据库 6
2.3 可行性分析 9
2.4 系统运行环境 9
3 系统概要设计 11
3.1 总体功能 11
3.2 E-R图 13
4 系统详细设计 14
4.1 后台数据库设计 14
4.1.1 SQL SERVER 介绍 14
4.1.2 数据库表结构 15
4.2 处理流程设计 17
4.2.1 系统操作流程 17
4.2.2 数据增加流程 18
4.2.3 数据修改流程 18
4.3.4 数据删除流程 19
4.3 系统模块设计 20
4.3.1 管理员登陆 20
4.3.2 新闻管理 22
5 系统调试与测试 26
5.1 程序调试 26
5.2 程序的测试 26
5.2.1 测试的重要性及目的 26
5.2.2 测试的步骤 28
5.2.3 测试的主要内容 28
6 结论 30
6.1 系统评价 30
6.2 安全性问题 30
致谢 32
参考文献 33
JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。JSP技术在多个方面加速了动态Web页面的开发。
与微软公司的ASP技术相比,JSP具有如下优点:
(1) 开放的技术:JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP技术主要依赖MICROSOFT支持。
(2) 平台和服务器的独立性:JSP编写的代码可运行在任何符合JAVA语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。
(3) 开放的开发过程,开放的源码:自1995年以来,SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。
(4) JSP标记可扩充性:JSP技术能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。
(5)JSP跨平台的可重用性:JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用的。
JSP作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类JSP应用程序中,JSP + JavaBean的组合成为了一种事实上最常见的JSP程序的标准. JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。JavaBean通过Java虚拟机(Java Virtual Machine)可以得到正确的执行,具有平台无关性。
一个JavaBean有三个部分组成:
1) 属性(Property)
Bean的属性就是对象的属性,但提供了属性读取和设置的接口支持。例如一个时钟Bean可以有时区和镇铃属性,日历Bean可以有年份和月份属性。每个属性通常遵守简单的方法命名规则。这样可以很方便的找出Bean提供的属性,然后查询属性值或改变属性值,对Bean进行操作。
2) 方法(Method)
由于Bean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。JavaBean严格遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没有Public字段)。这样,方法调用的是接触Bean的唯一途径。
3) 事件(Event)
Bean与其他软件组件交流信息的主要方式是发送和接收事件。这与对象之间通过消息通信类似。
JavaBean传统的应用在于可视化的领域,如AWT下的应用。自从JSP诞生后,JavaBean更多的应用在非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。利用非可视化JavaBean, 来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如JSP)的分离,使得系统具有更好的健壮性和灵活性。
JDBC是Java的开发者——Sun的JavaSoft公司制定的Java数据库连接JavaDataBaseConnectivity技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。简单地说,JDBC能完成下列三件事:
(1)同一个数据库建立连接;
(2)向数据库发送SQL语句;
(3)处理数据库返回的结果。
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!”
Java具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据库线连接而使用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。
JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页中带有能访问远端数据库的Applet。或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windwos,Machintosh或UNIX)在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。
所有的数据库的对象和方法都在java.sql.* 里面,所以首先要import java.sql.*,要想连接数据库,首先要将驱动程序调入。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");这是JDBC-ODBC 的驱动程序。
要想连接一个指定的数据库,必须创建Connection类的一个实例。
String url = "jdbc:odbc:Grocery prices";
Connection con = DriverManager.getConnection(url);
注意在此用到的数据库名称是在ODBC设置控制面板中输入的数据资源名。URL语法对于不同类型的数据库会很不一样。 语法是这样的: jdbc:subprotocol:subname 开头都是JDBC,后面是子协议,然后是ODBC名称。
若要使用纯JDBC驱动程序,必须安装第三方软件提供的驱动程序,一般在数据库的官方网站上可以找到这里不做讨论。
本系统采用JDBC-ODBC的驱动程序连接数据库,并使用JavaBean组件,有效的避免了代码的重复,具体过程如下:
package exam;
import java.sql.*;
public class ExamBean {
String strDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //JDBC-ODBC驱动程序
String strDBUrl="jdbc:odbc:exam";
private Connection conn=null;
private Statement stmt=null;
ResultSet rs=null;
//<!--注册数据库驱动程序-->
public ExamBean() {
try {
Class.forName(strDBDriver);
}
//<!—异常处理-->
catch(java.lang.ClassNotFoundException e){
System.err.println("exam():"+e.getMessage());
}
}
//<!—建立数据库连接及定义数据查询-->
public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection(strDBDriver); //创建数据库连接对象 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//支持数据回滚
rs=stmt.executeQuery(sql);
}catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
//<!—定义数据更新操作-->
public void executeUpdate(String sql){
stmt=null;
try{
conn=DriverManager.getConnection(strDBDriver);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
}
//<!—关闭数据库连接-->
public void closeStmt(){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
public void closeConn(){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
如你对本套设计感兴趣,请记住本套设计在本站的编号:jsp00036