java技术调研报告

2024-10-07 版权声明 我要投稿

java技术调研报告(推荐8篇)

java技术调研报告 篇1

特点:Java EE提供了一个框架(一套标准API)用于开发分布式结构的应用,这个框架的实际实现留给了第三方厂商。部分厂商只是专注于整个Java EE架构中的的特定组件,如Apache的Tomcat提供了对JSP和Servlet的支持,BEA系统公司则通过其WebLogic应用服务器产品为整个Java EE规范提供了一个较为完整的实现。

WebLogic服务器已使建立和部署伸缩性较好的分布式应用的过程大为简化。WebLogic和Java EE代你处理了大量常规的编程任务,包括提供事务服务、安全领域、可靠的消息、名字和目录服务、数据库访问和连接池、线程池、负载平衡和容错处理等。通过以一种标准、易用的方式提供这些公共服务,象WebLogic服务器这样的产品造就了具有更好伸缩性和可维护性的应用系统,使其为大量的用户提供了增长的可用性。功能: 1 在使用IP地址的一台计算机,或在使用集群捆绑在一起的多台计算机上,或在通过代理服务器管理的多台计算机上建立拥有相同域名的不同站点。部署基于J2EE 标准编写的服务器JAVA代码,包括servlet,JSP,JavaBean 和EJB。使用J2EE 扩展网络服务集成分布式系统,包括用于数据库连接的JDBC、用于信息传递的JMS、用于网络目录访问的JNDI、用于分布式事务处理的 JTA 和用于电子邮件处理的JavaMail。部署使用远程方法调用(RMI)的纯Java 分布式应用程序。通过使用RMI—IIOP(RMI over Internet Inter-ORB Protocol)协议部署近似CORBA的分布式应用系统。通过使用安全套接层(SSL)和Weblogic的内在支持为用户验证和授权,实现强大的安全性。通过将多个Weblogic服务器组成一个集群提供高可用性、负载均衡和容错能力。利用Java 的多平台能力在Windows NT/2000,Sun Solairs ,HP/UX 和其他Weblogic支持的操作系统上部署Weblogic服务器。在任一平台上,通过使用WebLogic直观的进行基于Web 的管理和监视工具可在网络上轻松管理一个或多个WebLogic服务器。

目前最新的版本是WebLogic Server 12c。

技术二.JDBC

JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。

类型1: JDBC-ODBC Bridge

在JDBC出现的初期,JDBC-ODBC桥显然是非常有实用意义的,通过JDBC-ODBC桥,开发人员可用JDBC来存取ODBC数据源。不足的是需要在客户端安装ODBC驱动程序,换句话说,必须安装Windows的某个版本。使用这一类型要牺牲JDBC的平台独立性。另外ODBC驱动程序还需具有客户端控制权限。类型 2:JDBC-native driver bridge

JDBC本地驱动程序桥提供了一种JDBC接口,它建立在本地数据库驱动程序的顶层,而不需要ODBC。JDBC驱动程序将对数据库的API从标准的JDBC调用转换为本地调用,使用此类型要牺牲JDBC的平台独立性,还要求在客户端安装客户端数据库驱动程序。类型 3:JDBC-network bridge

JDBC网络桥驱动程序不需要客户端数据库驱动程序。它使用网络上的中间件服务器来存取数据库。这种应用使得负载均衡、连接缓冲池和数据缓存等技术的实现有了可能。由于第3种类型往往只需要相对更少的下载时间,具有平台独立性,且不需要在客户端安装数据库驱动程序并取得控制权,所以很适合于Internet上的应用。

类型 4:Pure Java driver

通过使用一个纯Java数据库驱动程序来执行数据库的直接访问。此类型实际上在客户端实现了2层结构。要在N-层结构中应用,一个更好的做法是编写一个EJB,让它包含存取代码并提供一个对客户端具有数据库独立性的服务。

WebLogic服务器为一些通常的数据库提供了JDBC驱动程序,包括Oracle、Sybase、Microsoft SQL Server及Informix。它也带有一种JDBC驱动程序用于Cloudscape,这是一种纯Java的DBMS,WebLogic服务器中带有该数据库的评估版本。让我们看一个实例。

JDBC实例

在这个例子中假定已在Cloudscape中建立了一个PhoneBook数据库,且包含一个表名为 CONTACT_TABLE的表,它带有2个字段:NAME和PHONE。开始时先装载Cloudscape JDBC driver,并请求driver manager得到一个对PhoneBook Cloudscape数据库的连接。通过这一连接,可构造一个Statement对象并用它来执行一个简单的SQL查询。最后用循环来遍历结果集的所有数据,并用标准输出将NAME和PHONE字段的内容进行输出。

import java.sql.*;

public class JDBCExample{

public static void main(String args[]){

try{ Class.forName(“COM.cloudscape.core.JDBCDriver”);Connection conn = DriverManager.getConnection(“jdbc:cloudscape honeBook”);Statement stmt = conn.createStatement();String sql = “SELECT name, phone FROM CONTACT_TABLE ORDER BY name”;ResultSet resultSet = stmt.executeQuery(sql);String name, phone;while(resultSet.next()){

name = resultSet.getString(1).trim();

phone = resultSet.getString(2).trim();

System.out.println(name + “, ” + phone);}

}

catch(Exception e){ // Handle exception here e.printStackTrace();

}

} }

接着我们来看一看JDBC是如何在企业应用中的进行使用。

JDBC在企业级应用中的应用

以上实例其实是很基本的,可能有些微不足道,它假定了一个2层结构。在一个多层的企业级应用中,更大的可能是在客户端和一个EJB进行通信,该EJB将建立数据库连接。为了实现和改进可伸缩性和系统性能,WebLogic服务器提供了对连接缓冲池Connection pool的支持。

Connection pool减少了建立和释放数据库连接的消耗。在系统启动以后即可建立这样的缓冲池,此后如故再有对数据库的请求,WebLogic服务器可很简单地从缓冲池中取出数据。数据缓冲池可在WebLogic服务器的weblogic.properties文件中进行定义(可参考weblogic.properties文件中的例子,WebLogic服务器的文档中还有更详细的参考信息)。

在企业级应用的另一个常见的数据库特性是事务处理。事务是一组申明statement,它们必须作为同一个statement来处理以保证数据完整性,缺省情况下JDBC使用auto-commit事务模式。这可以通过使用Connection类的setAutoCommit()方法来实现。

技术三:EJB EJB是sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,如目录服务、事务管理、安全性、资源缓冲池及容错性。

EJB规范定义了3中基本的bean类型:会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。

Stateless session beans:提供某种单一服务而不维持任何状态,在服务器故障发生时无法继续存在,生命期相对较短。如它可能被用于执行温度转换计算。

Stateful session bean:提供了与客户端的会话交互,可存储状态从而代表一个客户。典型例子是购物车。不过在服务器故障时无法继续生存,生命期相对较短。每一个实例只用于一个单个的线程。

Entity beans: 提供了一致性数据的表示,通常存放在数据库中,在服务器故障发生后能继续存在。多用户情况下可使用EJB来表示相同的数据,Entity EJB的一个典型例子是客户的帐号信息。

尽管有以上的区别,所有的EJB还是有许多的共同之处。它们都处理home interface。它定义了一个客户端是如何创建与消亡EJB的。可在bean中对定义了客户端方法的远程接口进行调用;bean类则执行了主要的商务逻辑。

描述EJB的开发已经超出了本文的范围。但如果一个EJB已被开发或从第三方购买,它就须在应用服务器中进行发布。WebLogic Server 5.1带有一个EJB Deployer Tool来协助处理EJB的发布。当你使用EJB Deployer Tool的时候,你要定义客户端所用的JNDI名字来定位EJB。Deployer Tool将生成wrapper类来处理和容器的通信及在一个jar文件中把被请求的Java类绑定在一起。

一旦EJB被发布,客户端就可以使用它的JNDI名字来定位EJB。首先它必须得到一个到home接口的reference。然后客户端可使用该接口,调用一个create()方法来得到服务器上运行的某个bean实例的句柄;最后客户端可以使用该句柄在bean中调用方法。

EJB3.0 在EJB3.0规范中,写一个无状态会话bean(SLSB)只需要一个简单的Java文件并在类层加上@Stateless注释就可以了。这个bean可以扩展javax.ejb.SessionBean接口,但这些不是必须的。

一个SLSB不再需要home接口,没有哪类EJB再需要它了。Bean类可以实现业务接口也可以不实现它。如果没有实现任何业务接口,业务接口会由任意public的方法产生。如果只有几个业务方法会被暴露在业务接口中,这些方法可以使用@BusinessMethod注释。缺省情况下所有产 生的接口都是local(本地)接口,你也可以使用@Remote注释来声明这个接口为remote(远程)接口。

下面的几行代码就可以定义一个HelloWorldbean了。而在EJB2.1中同样的bean至少需要两个接口,一个实现类和几个空的实现方法,再加上部署描述符。

import javax.ejb.*;/** * A stateless session bean requesting that a remote business * interface be generated for it.*/;@Stateless;@Remote public class HelloWorldBean { public String sayHello(){ return “Hello World!!”;} }

EJB3.1

EJB3.1又一次引入了一系列新的特性,倾向于挖掘技术的潜力。依我来看,EJB3.1绝对是一个重要的发布版本,它将那些长期让人渴望的特性带到开发者面前,更加能够满足最新的企业应用程序开发,同时对EJB再次被人们采纳将做出巨大的贡献。EJB 3.1 最终发行版已经发布了。

EJB3.1架构模式相对于旧的架构模式有如下的一些扩展和针对API的一些简化: · 简化的本地模式让去除了本地的商务接口一样可达到session bean · 直接用war文件打包一个ejb组件不需要一个ejb-jar · 在Java SE环境中嵌入API执行EJB · 引入了可以提供简单的共享应用数据和支持一致性访问的Singleton session bean组件 · 自动创建EJB定时器

· 基于EJB定时表达式的日程表 · 异步session bean调用

java技术调研报告 篇2

一、Java技术的概述

Java平台由Java虚拟机 (Java Virtual Machine) 和Java应用编程接口 (Application Programming Interface、简称API) 构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口, 可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后, Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次, 就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4, 最近版本为Java1.7。

Java分为三个体系Java SE (Java2 Platform Standard Edition, java平台标准版) , Java EE (Java 2 Platform, Enterprise Edition, java平台企业版) , Java ME (Java 2 Platform Micro Edition, java平台微型版) 。

二、Java多线程创建

利用Java语言实现多线程应用程序的方法很简单。根据多线程应用程序继承或实现对象的不同可以采用两种方式:一种是应用程序的并发运行对象直接继承Java的线程类Threadt另外一种方式是定义并发执行对象实现Runnable接口。

通过继承Thread类创建线程。Thread类是JDK中定义的用于控制线程对象的类, 在该类中封装用于进行线程控制的方法。在这个途径中, 用户程序需要创建自己的Thread类的予类, 并在子类中重新定义自己的方法, 这个方法中包含了用户线程的操作。这样在用户程序需要建立自己的线程时, 只需要创建一个已定义好的Thread子类的实例就可以了。

通过Runnable接口创建线程。Runnable接口只有一个方法run () , 实现这个接口, 就必须要定义mn O方法的具体内容, 用户新建线程的操作也由这个方法来决定。定义好run () 方法之后, 当用户程序需要建立新线程时, 只要以这个实现了run () 方法的类为参数创建系统类Thread的对象, 就可以把用户实现的run () 方法继承过来。

三、Java在Intranet应用

Intranet是一种与外部世界安全隔离的内部网络, 它采用了Internet技术为它的信息底层服务。创建一个成功的Intranet应用程序应遵循以下四个步骤: (1) 确定需求。通过考察Intranet网的目的、范围、用户等因素来确定Intranet网设计和实现需求; (2) 规划。在确定了Intranet网的需求后, 则开始进行Intranet网的规划, 确定项目实施的时间和实施项目所必需的步骤, 对条件和需求进行实现性考查; (3) 设计。一般是通过确定Intranet网上软件硬件安装的位置与方式 (如主Web服务器安装的位置以及软件如何共享等) 来设计的; (4) 实现。在Intranet将根据需求、计划和设计来创建Intranet服务和开发应用程序。

四、Java在仿真系统中应用

控制类是一个抽象类, 是控制线程和对象的类, 其中线程控制是本文要重点说明的。在Java开发语言中, 除系统线程外的每个线程又隶属于另一个线程组, 可以在创建线程组时指定其隶属的线程组, 若没有指定, 则缺省的隶属于系统线程组。这样, 所有线程组组成了一棵以系统线程组为根的树。在基于Java的多线程仿真机制中, Java提供了线程组类, 线程组提供了控制、管理线程的所有方法, 为仿真模型中线程的管理提供了基础设施, 极大地方便了开发人员。

Java允许我们对一个线程组中所有的线程同时进行操作, 比如我们可以通过调用线程组的方法来设置其中所有线程的优先级, 也可以启动或阻塞其中的所有线程。例如, 运行模型时, 将产生的线程加入到其线程组中, 在主线程中, 仿真钟每推进一步, 就查看线程组中线程的启动时间, 如果有等于当前仿真时间的, 就启动, 使模型得到很好的控制。

结束语由于Java的跨平台性, 更为分布式的物流仿真提供了广阔的发展空问, 采用多线程机制不但能模拟并行的系统, 还能在系统中实现交互。如果在软件的设计中采用UML面向对象建模技术, 可使程序开发过程标准化、可视化, 代码编程也简单化。

参考文献

[1]詹跃东, 李莉, 史扬:基于UML和多线程的AGVS仿真工具设计[J], 系统仿真学报, 2005 (5) :871—874

[2]接鹏;基于Java的多线程离散事件仿真机制[J], 现代计算机, 2005 (5) :84—85

[3]叶俊民, 汪望珠:面向对象软件工程使用UML、模式、Java (第2版) [M], 北京:清华大学出版社, 2006

[4]白尚旺, 党伟超:Power Designer软件工程技术[M], 北京:电子工业出版社, 2005

Java程序混淆技术综述 篇3

关键词:Java程序;混淆技术;软件水印;防篡改;软件版权保护

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 09-0000-02

人们对于计算机的依赖性随着软件技术的不断给人们带来便利和乐趣,使工作更富有主动性和操作性,但是任何事物在发展过程中都会有其负面效应与之相对,随着计算机软件应用量和种类的不断扩展,其使用安全问题便开始影响到人们的正确使用,并开始逐渐打击使用计算机的积极性,以及对于安全问题的无奈。主要攻击形式是通过对软件备份的破坏而直接将软件彻底摧毁,根据现有问题,当前的软件已经经过改良,重新调试,但是攻击则换角度也将攻击破解方式进行重组,使改良的部分无法发挥其作用,这样软件就不会得到应有的保护,依旧能够以非正规途径得到软件的任何数据,从而进行大面积的传播,这也就是为何当今软件盗版现象严重的途径之一。Java程序的出现,首先能够在网络上加快传播速度并且无客观條件可以轻松普及,但同时却能够通过无关性对产权进行有效的保护,不会轻易的被人盗用。

一、软件混淆技术基本原理

(一)基本释义

软件混淆技术是为了能够在软件受到侵害或是盗用时可以被保护的一种现代技术,软件技术首先咋1977年新西兰首次被提出,其实是将原有的程序的语言转换成一种密码语言,不能被一般的软件所识破的一种转换,并且研制出能够对这种转换进行评估的理论计算。转换的形式未变,只是在形式上保留原有的运行根组成,添加一些其他能够扰乱破坏和读取的程序代码。如今混淆技术开始不断的发展,诸多的被应用于产权的保护中,所谓的混淆就是通过语词的转变但保持其语义依然与之前相同,这就能保证软件在使用时功能是不变的,却能够防止逆向工程攻击和被静态分析。

(二)软件混淆技术的分类

当Java文件经过处理,在原有的基础上添加了其他程序代码成为类文件,这种类文件包括魔数( magic number) 、版本( version) 、常量池( constant pool ) 、访问标识( access flag s) 、(this)类、(super)类、接口( interfaces) 、域( fields) 、方法(methods) 和属性(attributes) 。

软件混淆主要通过类内混淆和类间混淆来根据不同的使用对象进行划分,类内混淆主要是克服(methods)中的code字段,而类间混淆却是针对多种类文件的综合体进行混淆处理,其主要的方式是合并和拆分相对的过程处理。

下面分别介绍两种混淆。

(1)、类内混淆

能够支持类内混淆的途径有数据混淆、控制混淆、切片混淆以及针对特定工具混淆四种。数据混淆是对数据的结构组成元素原有的书写方式进行修改,使其不再成为能够被认知的程序。主要有:变量存储和编码混淆、变量聚合混淆、顺序调整混淆、词法混淆以及移除注释和调试信息混淆。控制混淆是在信息传输过程中的保护,主要采取追踪定位等方式实时监测信息的状态,从而对其他袭击系统进行抵御。切片混淆,正常在一般的软件中问了能够让计算机更好的识读软件,所以增加了切片以帮助更好的理解,降低难度,而混淆了切片则能够使其首先无法有助于难度的下降,另外会造成对于程序的误导可能降低了或是更改了某些其他的程序,达到了增加难度混淆的目的。针对特定工具混淆软件为了能够起到保护作用,本身具有一定的反编译和反混淆的功能,会在一定的紧急时刻自动启动,而针对特定工具就是抑制了自动的传导,对于能够使软件本身内部之间的反编译都可以正常的进行,但是对于外部的反编译就不会在自动启动,这就是混淆的高级之处。相区别与前三者人的行为,针对特定工具混淆具有自动的功能针对的是自动化。如果能够与以上三种任意搭配就能够达到防住人机的共同目的。

(2)、类间混淆

类间混淆是合并拆分类文件而造成混淆的目的其中又有三种表现形式:类合并、类拆分、隐形类间混淆。类合并是要面对多个文件的自身组成的函数变量,通过将函数、变量的名称进行更改,注意在更改过程中一定不能同时出现两个或以上的名子,如果在合并中有参数同系统提示无法进行更改,则要为其中一个虚拟一个参数。另外如果合并文件中有继承关系的则需要在合并成功后加入一个布尔型的私有变量用于区分标识符相同的函数。类拆分则是观察现有的文件是否进行拆分,同时并作出相应的调整。对于结果是可拆分的类就是将A拆分为A1与A2,为了能够使A的要素都能够实现所以应该是A2处于继承A1关系。类型隐藏是通过接口来实现混淆,并且能够保证原文件并不需要改变接口,所以被称为隐形。相比类合并,类拆分和隐形类间混淆所用的时间相对较短。

二、软件混淆算法的攻击模式

(一)混淆算法的理论研究

混淆技术的提出者曾经试图将整个运行过程当做是一个虚拟黑箱来看,也就是说对于其他程序来说这就完全是另外一个软件和原软件无任何联系,从它的输入和输出的方式内容和代码都不同,这种在理论中是可以站的住的,但是在实际操作中会受到很多因素的限制,但在相对宽松的要求下还是可以实现混淆技术的使用。后来又根据该理论研究通过点函数来实现虚拟黑箱,总而言之其未来的研究空间还有很大,期待它的日益成熟。

(二)混淆算法的攻击模式

1.针对数据混淆算法的攻击

假定T 是对程序P 的一个单向的混淆变换,当且仅当从原始程序P 除去某些信息后,无法通过混淆后的程序Pc恢复出P。词法变换是最典型的不可逆混淆算法。虽然对于经过词法变换的程序进行攻击不可能恢复程序的原貌,但只要理解程序各个模块的含义就可能对程序产生威胁。例如根据无法被混淆的系统API 名称等关键字,攻击者可以推测出该模块的大致功能。

2.针对控制流混淆算法的攻击

目前,针对控制流混淆算法的主要攻击方法是动态分析。动态分析对大部分混淆算法的攻击作用,并阐述攻击模型. 对于控制流混淆而言, 变换后生成的程序中若存在始终不执行的分支,通过动态分析就能找到对破解程序有用的信息.针对控制流混淆,还有黑盒测试攻击, 该方法通过对程序进行黑盒测试,了解各个类及其函数的功能, 从而获取攻击者需要的信息. 这种方法对大多数的混淆变换均能加以攻击。同时,该方法也存在着一定的局限性: 黑盒测试缺乏自动分析工具,需要依靠大量的人力来完成分析工作。

三、对于混淆技术的未来预估

混淆技术是一种可用于抵制逆向工程和重组工程、对软件知识产权进行保护的程序变换技术。使用混淆技术虽然会使代码的效率有一定程度的降低,但是它的实现代价相对较小, 因而在近年引起了广泛的关注.由于混淆技术不改变程序功能的特性, 并且有些词法混淆算法甚至可以减小原程序的体积, 因此混淆技术得以在保护移动代码方面得到广泛的应用. 受移动平台资源的限制,今后混淆技术的研究方向一方面要加大混淆的力度,增加攻击者反编译的难度,另一方面也要考虑降低混淆算法对目标程序的运行负担。文献探讨了混淆技术在移动代理上的应用。目前保护软件知识产权的新技术主要有3种:混淆技术、软件水印技术和防篡改技术。这3种技术各有特长,将它们互相结合使用,可以给予目标软件更为可靠的保护,这也是目前研究的一个重要方向。对于混淆算法的评估、正确性验证以及如何研制高效可靠的混淆算法, 也是将来的发展方向之一。

四、总结

混淆技术是对软件进行的基础产权保护,为了能够增加破译的难度和代价,从而使产权盗版的情况发生率降低,同时还能提高软件水银的鲁棒性,有人提出将程序的编译混淆, 而不是混淆程序本身。但是该方法还有若干问题需要考虑。使软件的安全度进一步提升,给人们的使用带来了更多的福音,虽然该技术已经广泛运用也颇收到好评,在技术上依旧有大的发展前景,需要投入更多的研究力量。

参考文献:

[1]霍建雷,范训礼,房鼎益.Java标识符重命名混淆算法及其实现[J].计算机工程,2010,第1期

[2]咸星海.面向对象代码混淆技术研究及软件实现[J].中国科技博览,2010,第19期

[3]刁俊峰.软件安全中的若干关键技术研究[D],北京:北京邮电大学,2007

[4]李新良,罗戈夕.基于Java的代码混淆算法研究[J].湖南文理学院学报:自然科学版,2010,第3期

[5]霍建雷,范训礼.房鼎益,Java标识符重命名混淆算法及其实现[J].计算机工程,2010,第1期

[6]李婧.基于控制流混淆轉换的代码保护技术[J].计算机安全,2009,第8期

[7]袁征,冯雁,温巧燕,张华.构造一种新的混淆Java程序的不透明谓词[J].北京邮电大学学报,2007,第6期

java实习报告 篇4

课程实习报告

题目JSP 学习网站

专业计算机网络技术

班级网络092

学号200936615210

姓名邓章鹏

指导老师涂超

完成日期2011年12月31日

成绩

目录

一、程序设计整体说明…………………………………

1、实习目的…………………………………………

2、实习要求…………………………………………

3、功能结构…………………………………………

4、功能展示…………………………………………

5、数据库表…………………………………………

6、程序漏洞…………………………………………

二、程序可以改进的地方………………………………

三、程序部分源代码……………………………………

四、实习心得……………………………………………

五、参考文献……………………………………………

六、安装说明……………………………………………

一、程序设计整体说明

在本学期的JSP程序设计课程里我受益匪浅。但离正在熟练掌握JSP这门技术还是很远,希望在以后加强学习。JSP(JAVA SERVERPAGES)是一种动态网页技术标准。它可以无缝地运行在UNIX、LINUX、WINDOWS操作系统平台上。利用这一技术可以建立安全、跨平台的先进动态网站。

这课程实习程序里我选择利用SQLServer和Java 技术和Dreamweaver和myeclipse建立一个jsp学习网站提供给jsp爱好者使用。

我的网站分为四大模块:分别是今日最新鲜、名师讲堂、ie图书馆、bbs论坛。a)实习目的1.1了解jsp编程环境myeclipse

1.2熟悉jsp、javabean、serverlet

1.3熟悉编写一个web应用程序系统开发的完整过程

1.4完成一个基于jsp应用系统开发。

b)实习要求

在掌握jsp的基础上,自我选择web应用课题,完成资料收集、数据库设计、系统功能设计,最后实现一个较完整的web系统设计。

根据要求我选择了“jsp学习网站”的系统开发(主要是提供最新的jsp编程技术、视频教程、jsp图书在线阅读、bbs论坛、登录注册、空间、等综合型网站)

c)功能结构

d)功能展示

3.1主页

3.2登录界面

3.3注册界面

e)数据库表

Student表

f)程序漏洞

在编写代码的时候因为知识面有限和时间不充足,很多地方有以后更改。

A、整个网站的美工不是很好

B、注册没有验证码

C、还有些功能模块没有实现

二、程序可以改进的地方

A、加强图片的效果

B、注册加入验证码

C、Bbs模块要实现

D、后台管理应该加强

三、程序部分源代码

Index.jsp:<%@pagecontentType=“text/html;charset=GB2312”%>

<%@pageimport=“java.sql.*”%>

Transitional//EN”“http://1/DTD/xhtml1-transitional.dtd”>

var forEach = function(array, callback, thisObject){

if(array.forEach){

array.forEach(callback, thisObject);

}else{

for(var i = 0, len = array.length;i < len;i++){ callback.call(thisObject,array[i], i, array);}

}

var st = new SlideTrans(“idContainer2”, “idSlider2”, 5, { Vertical: false });

var nums = [];

//插入数字

for(var i = 0, n = st._count-1;i <= n;){

(nums[i] = $(“idNum”).appendChild(document.createElement(“li”))).innerHTML= ++i;}

34“>ie图书馆

bbs论坛

四、实习心得

经过这次的实习让我更了解了整个jsp web程序的开发流程。从数据库的建立,到开发环境的建立我都很熟悉了。我知道建造一个web并非容易的事情,我们要付出很多天,很多晚去做。现在网站的趋势就是利用jsp打造动态稳定的网站。

五、参考文献

《JSP程序设计》张跃平著作清华大学出版社

Java上机实验报告 篇5

一、实验目的与要求

1、掌握Java中类和接口的基本知识;

2、继承的基本知识;

3、集合的基本操作

二、实验内容 1.PIMCollection 类

创建一个可以管理PIMEntities实体的集合,该类实现了Collection接口,且必须实现了以下方法:(1).getNotes();返回PIMCollection中所有的PIMNote项,如果不包含PIMNote项,则返回一个空集合

(2).getTodos();返回集合PIMCollection中所有的PIMTodo项,如果不包含PIMTodo项,则返回一个空集合

(3).getAppointment();返回集合PIMCollection中所有的PIMAppointment项,如果不包含PIMAppointment项。则返回一个空集合(4).getContacts();返回结合PIMCollection中所有的PIMContact项,如果不包含PIMContact项,则返回一个空集合

(5).getItemsForDate(Date d);返回集合PIMCollection中所有与d匹配的PIMEntities,如果没有匹配d的项,则返回一个空集合

(只有PIMTodo和PIMAppointment项,因为PIMNote和PIMContact跟日期没有关系)。

2.TestPIMCollection类(自己的测试类)

向PIMCollection集合类中加入了一些PIMEntity实体类,并用PIMCollection类中实现的方法分别筛选出了其中的PIMNote、PIMTodo、PIMAppointment、PIMContact、符合指定日期d的集合并打印输出。

三、实验器材

计算机+windows操作系统+eclipse

四、实验步骤

1.程序源代码(压缩在文件夹里)2.编译执行程序 3.记录执行结果

五、实验结果

1.TestPIMCollection的测试代码:

2.程序的执行结果:

如图所示:程序分别输出了Todo、Note、Appointment、Contact、以及匹配指定日期的结合的结果。

六、实验小结

1、熟悉了Java集合的基本内容和操作,也包括了泛型的一些知识。

2、通过这个实验巩固了java的基础知识:类和接口的有关知识,继承的应用。

3、掌握了在eclipse下编译执行Java程序的知识。

4、通过几次的编程,熟悉了java的编程规则。

java课程总结报告 篇6

1.www是(worldwideweb)万维网,www的客户端程序:ie,foxfire.

2.什么叫web服务器,就是一段网络程序,让人们通过浏览器可以看到任何主机上的内容(通俗的说法).

3.微软开发的搜索引擎?Bing

4.B/S结构的知名缺点是什么?

受浏览器功能的限制。

C/S结构的优点,在实际中还有一部分地方需要它。

如:游戏。

5.老师说再过五年就没有操作系统了,搜索引擎是未来发展的趋势。

学JAVAweb就是做网站,保证以后活得比较滋润。

6.常见的web服务器

weblogic是bea公司

WebSphere是IBM公司

Tomcat是免费的,是Apache

7.建议使用压缩的TOMCAT的安装版,因为现实

中我们是这样用的。

8.安装tomcat的常见问题。

在这里要学习一门语言:批处理编程。

打开STARTUP.BAT.

1.说catalina_home没有配置

2.一安装完闪就没有了。

解决方法:

1.环境变量设置catalina。

还有JAVA_HOME的配置

2.端口被占有的问题。

浅析Java业务关键技术及应用 篇7

1 Java的跨平台原理

Java语言的一个非常重要的特点就是与平台的无关性, 而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同平台上运行, 至少需要编译成不同的目标代码;而引入Java语言虚拟机后, Java语言在不同平台上运行不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息, 使得Java语言编译程序只需生成能够在Java虚拟机上运行的目标代码 (字节码) , 就可以在多种平台上不加修改的运行。Java虚拟机在执行字节码时, 把字节码解释成具体平台上的机器指令执行。如Java虚拟机所有Java类型检查都是在编译时完成, 原始数据类型数据在Java执行时不需要用硬件标记。操作这些原始数据类型数据的字节码本身就已经指出了操作数的数据类型, 例如:iaddladdfadd和dadd指令都是把两个数相加, 其操作数类型分别是int、long、fl oat和double。从Java虚拟机支持的数据类型可以看出, Java对数据类型的内部格式进行了严格规定, 这样使得各种Java虚拟机的实现对数据的解释是相同的, 从而保证了Java的平台无关性。

2 Java业务的关键技术

2.1 Java Applet编程技术

Applet是一种特殊的Java程序, 运行于客户端。所有的小应用程序都是Applet类的子类, 因此所有的小应用程序都必须引用java applet类库。小应用程序的执行用一种完全不同的机制启动和控制。由事件驱动, 用户可以按照自己的喜好与基交互。小应用程序经过编译后, 被包含在一个HTML文件中, 并使用Applet标记时, 小应用程序就能被执行。观察和测试小应用程序, 要在Java源程序代码的头部加入一个包含Applet标记的注释, 代码就能用小应用程序所需的HTML语言记述, 只要启动小应用程序阅读器并指定Java源代码文件为目标文件, 就可测试。

2.2 AWT技术

AWT (Abstract Window Toolkit, 抽象窗口工具包) 包含多个类和方法, 用来支持小应用程序窗口, 也可以被用来创建独立运行GUI环境中的窗口。通过AWT可以生成和管理窗口、管理字体、输出文本, 也可以使用图像和动画。

2.3 Java Servlet编程技术

Java Servlet是运行于服务器的服务小程序, 是一个与协议无关且跨平台服务方构件。被集成到服务器中可以实现网络上远程动态加载, 没有与用户交互的界面, 作为服务器端的程序, 负责接受来自客户的请求, 并将处理结果返回给客户。由于现在绝大多数的WEB服务器都Servlet接口, 并且编写Servlet程序的语言是与平台无关的Java语言, 因此Servlet与平台无关。由于其内部以线程式提供服务, 不必为每个请求都启动一个进程, 而是利用多线程机制同时为多个请求服务, 因此Servlet的效率非常高。

2.4 RMI远程方法调用技术

RMI是SUN公司提出的基于Java平台的同质分布式系统 (其硬件平台和操作系统依然是异质的) 中使用的各个对象之间相互调用的接口, 是一个纯Java的解决方案。它支持在不同虚拟机上的各个对象之间无缝地远程调用, 以及从服务器端程序到Servlet程序之间的回调。RMI将分布式的对象调入运用的是面向对象技术, 而不是像RPC那样面向过程, 使得编写分布式应用程序变得简单。使用RMI程序不必再使用Socket来编写复杂的远程调用程序, 并且保留了Java语言提供的安全性。

2.5 Java Beans编程技术

Java Beans是一个软件组件, 被设计成可以在不同的环境中重复使用。Beans允许开发者使用软件组件构造复杂系统。这些软件组件可以自己开发, 也可以由一个或多个不同的厂商提供。Java Beans定义了组件块互相操作行为的体系结构, 但对其功能没有限制。一个bean可以完成简单的功能, 如检查一个文件的拼写;也可以完成复杂功能, 如预测一支股票的业绩。Bean对最终用户是可见的, 如图形用户界面上的一个按钮;也可能对用户不可见, 如实时多媒体解码软件。最后一个Bean可以被设计成在用户工作站上独立工作, 也可以与其他一组分布式组件协调工作。本地工作的Bean的例子如由一组数据点生成饼图的软件;与其他分布式软件合作以获得数据的Bean的例子如提供实时股票价格信息。

2.6 JDBC技术

JDBC同ODBC完全类似, 是为连接异构数据库的提供公共的API。可以实现各种不同数据库间的通信, 使用标准的SQL语句可以实现具体数据库的访问, 而不需要使用特定的数据库命令, 并且实现不同数据库间的应用移植。它利用Java.sql包及接口、类和异常事件通过JDBC-ODBC桥可以操作数据库, 但对数据库无要求, 不需要特别的命令, 只需与ODBC一样在服务器中设置ODBC数据源。

3 Java业务的应用

移动网中的Java业务是一种移动增值体验, 用户通过移动网络环境访问移动运营商的Java业务平台, 将平台上由Java语言编写的应用程序下载到手机终端上后用户可以对该应用进行正常的安装和使用。

Java的最大目标和特点就是“一次编写, 到处运行”的平台无关性, Java1.2以后的版本都统一改名为“Java2”, 针对不同平台和应用形成J2SE (标准版) 、J2EE (企业版) 、J2MB (袖珍版) , 能够开展如下业务应用:

(1) 游戏:包括离线和在线游戏;

(2) 娱乐:如卡拉OK、星象预测、网上聊天、找朋友和电子图;

(3) 新闻:如综合新闻及各种专题新闻、股票行情、交通信息、音乐影视和天气预报;

(4) 基于定位或位置的服务:如位置及地图、交通指南和周边服务等;

(5) 金融、交易、博彩类:如移动银行、彩票和电子商务, 这类服务需要解密安全机制;

(6) 企业或商务应用:如移动办公、移动政务、移动警务和石油斟探等。

摘要:Java语言是适应移动互联网需要的跨平台的编程语言, 本文阐述了Java的跨平台原理, 解析了Java业务的关键技术, 进而指出了Java业务的应用前景。

关键词:Java,Java关键技术,Java业务应用

参考文献

[1]龚永罡, 陈昕.《Java程序设计基础教程》[M].北京:清华大学出版社, 2009.

[2]林邦杰, 《彻底研究Java》[M].北京:电子工业出版社, 2002.

Java技术在网络管理中的应用 篇8

关键词:Java;网络管理;Web

中图分类号:TP393文献标识码:A文章编号:1007-9599 (2011) 03-0000-01

Java Technology Application in Network Management

Liu Shaogang

(Lincang Teachers’ College,Lincang677000,China)

Abstract:The information age has brought great to network management challenges,research on network management is imperative.In this paper,the meaning of network management,work patterns and Java technology-based network management system are briefly described. After this study of how network management has some theoretical and practical significance.

Keywords:Java;Network management;Web

一、引言

随着计算机网络技术和通信技术的飞速发展,网络管理作为网络系统的重要组成部分,在网络系统中占有重要的地位。面对网络复杂性、综合化等特点,如何对网络进行有效管理成为当前研究的重点。传统的网络管理手段已经不能适应新时期和新形势发展的需要,而Java语音由于具有面向对象、分布式、多线程和支持网络编程等优点,在网络管理中得到了广泛的应用。

二、网络管理

(一)网络管理涵义。所谓网络管理是对网络本身和网络服务的操作、管理和支持的统称。网络管理的过程包括数据采集、数据处理,然后把处理的结果提交给管理者,从而进行相关的操作使用。网络管理通过控制和管理计算机与网络设备的连接来最大限度的提高网络设备的利用率,提高工作效率,降低网络运行成本,为网络的持续健康发展提供保证。

(二)网络管理模式。随着计算机网络发展规模的日益壮大,网络管理系统的结构主要分为集中式和非集中式这两种管理结构方式。集中式网络管理中的管理决策主要由有限地域上集中的管理者来完成。非集中式管理中的管理决策由分布广泛的多个管理者共同协作完成。集中式网络管理模式是应用最为普遍的一种结构。

为了使用新形势下网络技术的发展,采用分布式面向对象的技术进行网络管理,从而产生了非集中式网络管理模式,比较常用的有层次式和分布式两种。层次式网络管理模式如图2所示。由图1可知,层次式网络管理模式采用“管理者之管理者”(Manager of Manager,MOM)的模式,上层MOM控制它们之间的通信连接。

随着网络技术的飞速发展和广泛应用,网络管理技术也朝着开放性、综合性、智能化和基于Web的网络管理方向发展。

三、Java在网络管理中的应用

(一)基于Web的网络管理模式。基于Web的网络管理模式已经成为网络管理未来发展的一个趋势。Java技术作为Web网络管理中的一种关键技术,它具有灵活多变、可移植性和易于网络编程等特点,在基于Web的网络管理模式中起着重要的作用。

(二)基于Java Applet的网络管理系统。Java是一种面向对象、分布式、高效能的语言,具有分布式和可移植等特点。Java Applet是Java中执行于Web浏览器上的应用小程序,它可以从服务器上进行下载并可以在浏览器中运行。当浏览器访问嵌入Java Applet的网页时,代码就会被下载到本地计算机中运行,以减轻服务器端的负载。

网络管理系统是通过对数据进行采集处理来对网络的工作状态进行监视和性能分析。根据基于Web的网络管理模型,基于Java Applet的网络管理系统结构可以分为管理客户端、网管系统服务器和网管平台三部分。

1.管理客户端。管理客户端主要包括web浏览器和Java Applet管理程序。管理者与网络管理系统之间的联系通过Web浏览器来实现,Web浏览器可以实现对网络信息的采集和处理工作。与此同时,管理者通过下载网络管理所必须的Java Applet管理程序来实现与网管系统服务器之间的通信连接,进行来实现数据的发送和接收工作。

2.系统服务器。系统服务器作为网络管理系统的核心部分,它主要由Web服务器、服务器应用程序和数据库以及相应的网管平台组成。系统服务器程序的主要功能是负责监听和响应管理用户的请求,与此同时调用相应的管理功能模塊来进行工作。管理功能模块的主要功能是实现网络管理和对数据库的访问。

3.网管平台。通过网络管理平台,可以实现服务器应用程序对网络设备资源的管理工作。基于Java Applet的网络管理系统,具有减少嵌入式设备端的资源开销和工作效率高等优点。用户通过嵌入到系统Web服务器主页面中的Applet标签,调用实现网管系统功能的Java Applet程序。这样极大的减少了运行成本,操作方便和使用性强。

四、结语

Java技术与Web技术的结合应用给网络管理带来了新的发展。Java技术由于具有面对对象、可移植性好和易于编程等优点,在网络管理中发挥了重要的作用。随着我国网络管理技术的不断发展,Java技术以其鲜明的特点在未来的发展中占有一席之地。

参考文献:

[1]末辉,江峰.服务器的程序设计[M].北京:清华大学出版社,2004

[2]陈剑.Java applet的安全性及应用[J].计算机应用研究,2001,4

[3]徐迎晓,张根度.基于Java RMI的网络管理系统[M].计算机工程与应用,2002,38

上一篇:我国上市公司盈余管理研究下一篇:叙述我的梦想作文