Java集成开发环境(通用9篇)
Java集成开发环境 篇1
0 引言
Java是一种可撰写跨平台应用程序的面向对象程序设计语言之一。Java集成开发环境(IDE,Integrated Development Environment)是用于提供Java程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。由于IDE是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套,所以当前广泛使用各种Java编辑器,例如JBuilder,Ultra Edit,Editplus,Eclipse等等,但这些工具都没有开源[1]。因此,为了掌握Java的文件读写技术,提高Java程序开发效率,参考My Eclipse并应用swing、poi、mail、jsoup、io等基础包设计并开发了一个轻量级的集成开发环境JEdit,并且加入邮件发送和网络数据采集等功能。
1 系统的功能与技术分析
由于Java的swing包中函数多是轻量级,因而JEdit系统也是基于轻量级的[2]。系统主要功能包括Java代码编写、编译、debug等。代码编写可以通过键盘输入并显示行号,对关键字用不同颜色进行标识以便于查看;代码保存时,Java源代码和编译后的文件保存至本地指定目录,保存内容包括Java代码及编译的class文件;编译和运行代码时,可以将运行结果展示在控制台;如果出现编译错误,在控制台显示出错误位置及原因;注册码生成采用网页数据抓取的方式;邮件发送将生成的注册码写进邮件并发送给指定邮箱。JEdit的开发工具采用My E-clipse和Jdk,编辑完成后可以打包成可执行的jar包或压缩文件。
2 系统主要功能的设计
JEdit系统中,用户须注册后才能进入主界面选择工作区间,然后创建项目,编写Java代码,运行查看结果。系统实现的主要功能如图1所示。
2.1 注册功能的流程设计
注册时输入邮箱地址,然后进行网络联机判断获取注册码,最后通过邮箱获取注册码。注册流程可设计如图2所示[3]。
2.2 注册码生成的流程设计
注册码由随机数结合网络数据产生,首先判断网络是否连接,当网络连接正常时生成一个0到60的随机数,根据该随机数去访问网页,抓取网页的数据并解析出来,再生成注册文件。注册码生成的流程图如图3所示[3]。
2.3 代码编辑、保存等功能流程设计
编辑前要选择目录,然后进行新建,编辑,保存,运行,也可以直接打开文件操作,但在运行前要保证项目已经被保存;点击保存按钮后,进入保存流程;若编译通过,则将编译通过的class文件存放在相应目录。
3 系统功能的实现
3.1 注册模块的实现
注册页面可用于对系统合法性的检验和注册信息,注册主界面如图4所示。
输入邮箱后当注册码生成后会发送至邮箱,系统校验通过后,进入选择工作区间界面。注册模块(Register Frame)的实现代码如下[4,5]:
3.2 选择工作空间模块的实现
选择工作空间可以确定编辑代码存储位置,其界面如图5所示。
点击选择后出现对话框,默认进入C盘,也可以选择想要打开的目录并确定存储位置。该模块核心为选择文件,代码如下[4,5]:
3.3 代码编辑模块的实现
进入主界面后,编辑窗口可以编辑代码,创建项目,显示行号。编辑窗口主界面如图6所示。
主区域显示打开文件的内容,可以进行编辑;右下方是控制台用来输出结果;左边是目录树,用来展示项目的目录结构。编辑模块代码如下[4,5]:
行号显示的原理是调用paint(Graphics g)方法进行行号设置:首先获得该文档的对象,然后获得该文档的行号(调用Javax.swing.text.Element.get Element Index(int offset)方法获得),最后利用for循环给每一行的开始绘制一个行号的矩形框。
3.4 保存和运行模块的实现
编辑完文件后点击保存按钮会将源文件保存至项目的src目录下;点击运行按钮,将此编辑窗口的文件编译,在下方的控制台显示出编译结果。如果编译通过则将编译产生的class文件存放在当前项目中的classes的目录下;如果编译不通过,则在下方的控制台输出编译出错的提示信息,提示错误的位置和信息帮助用户进行修改。编译和运行窗口的主界面如图7-8所示。
4 结束语
JEdit系统界面美观大方,通过Java swing技术绘制界面,应用Java数据抓取与分析jsoup,使用读取excel方法进行注册码的写入与读取功能,用邮件发送的形式将注册码发送至指定邮箱。目前,系统主要功能运行正常,但还有部分功能有待今后继续完善,例如提示功能,鼠标右键功能无法在编辑状态下修改字体大小,必须通过修改源代码才可以改变字体大小。
参考文献
[1]朱福喜.面向对象与Java程序设计[M].2版.北京:清华大学出版社,2015.
[2]张华.一种轻量级的监控架构设计[J].计算机应用与软件,2014,31(7):86-88.
[3]张海藩.软件工程导论[M].6版.北京:清华大学出版社,2013.
[4]范秋华,孙麒.旅行社信息管理系统的设计与实现[J].工业控制计算机,2015,28(6):126-128.
[5]程俊波,卫红春,刘海峰,等.基于JAAS的身份认证系统设计与实现[J].微电子学与计算机,2014,31(12):161-164.
Java集成开发环境 篇2
实习第四个礼拜,主要熟悉了java的高级应用
线程:进程是运行中的应用程序,是一套顺序执行的指令,每个进程都有自己独立的内存空间。线程是一个并发执行的顺序流,一个进程包括多个顺序执行流程,这些流程称为线程。 jvm 就是一个进程,在jvm 中分出线程,比如main就是主线程。同时开辟并发执行的序列即多线程。调用start()方法,线程启动;run()方法结束,线程就终止。线程是一个操作系统创建并维护的一个资源。对于单cpu 系统来说,某一个时刻只可能由一个线程在运行。一个thread 对象就表示一个线程。进程的数据空间独立;线程的数据空间共享, 能充分使用cpu 的资源。线程间通信更容易。共享数据就要加锁、解锁,会降低效率。
i/o:是在jvm 和外部数据源之间交换数据。按数据传输方向划分:输入流和输出;按数据单位划分:字节流和字符流;过滤流用来封装节点流或者其他过滤流,从而给节点流或其他的过滤流增加功能。
使用JDE配置Java开发环境 篇3
使用emacs (本文使用emacs来代表GNU emacs或XEmacs) 来开发程序显然是个很好的选择, 其效率、高度的可配置性和极其强大的功能足以让任何人爱不释手。由于Java的特性一些特性, 使用emacs这样的纯编辑器来进行Java开发也有其不方便之处, 对于较大的项目, 源文件经常分布在繁多的目录中 (/com/foo/bar/…) , 如果使用emacs进行开发, 需要频繁的敲入冗长的目录名, 这是一大不方便之处。其次, 在Java编译和运行调试, 我们需要向编译器, 虚拟机传递一些参数, 当然, 可以使用Makefile来实现, 但这些参数大多并不复杂, 使用make这样功能强大的工具有些破费了。还有, 对于一些经常使用的功能或语句如 (System.out.println, implements) 每次使用都自己敲显然太烦琐。最后, 对于一个OO语言来说, 有一个类浏览器也是很方便的。
现在, 使用jde可以基本克服所有这些缺点, 将IDE的功能和emacs的优点完美地结合起来。jde是一个使用emacs-lisp编写的ide软件包, 主要部分有Paul Kinnucan开发, 在emacs中安装jde后可以基本实现大多数商业IDE系统所提供的功能。由其主要特性有以下几点。
针对Java的语法高亮显示和缩进。
关键字及类方法等的自动补全 (SourceInsight?, 目前还不很成熟) 。
编译错误定位。
框架代码自动产生 (Listener, println等) 。
工程文件 (记录编译运行调试参数) 。
树状类和文件浏览器显示。
集成帮助 (javadoc) 及调试功能 (jdb+gud) 。
除了这些特征外, jde当然具有emacs的一切优秀特征, 如可移植性 (几乎一切OS) , 可配置性。下面将具体介绍jde的安装及使用。
1 安装
由于jde是一个emacs-lisp语言包, 它的安装是非常方便的, 当然, 需要具有emacs配置的基本知识。首先, 需要满足其安装要求, emacs, GNU Emacs或XEmacs 19版以上, 软硬件平台不限。
确认安装了jde需要的一些emacs-lisp包 (package) , 有speedbar (类浏览器) , semantic (语法分析) , eieio (OO lisp) , elib (Emacs lisp Utilities) , 另外, 有些功能需要beanshell, 在XEmacs下运行需要安装FSF-compat包
将jde包解开到某目录, 当然也要修改相应的.emacs配置文件增加一些内容。
如果安装无误的话, 使用emacs打开java文件时将自动进入jde-mode, 过程可能需要几秒钟, 因为jde将调用semantic对整个文件进行语法分析。
2 使用Jde
进入jde-mode后, 我们自然可以发现与普通Java-Mode有一些不同, 首先是语法的高亮显示更加“Java”化, 一目了然。xemacs顶部的菜单也有了一些变化多了三个菜单项, “JDE”, “Classes”, “Senator”, JDE菜单里包括了JDE提供的所有功能, 下面将详细介绍, “Classes”是JDE对Java文件进行语法分析后生成的, 包括了当前文件中的所有类, 变量, 方法, 可以通过选择菜单的方式访问相应的代码。而Senator菜单是由semantic包生成的, 可以通过token的方式对源文件进行搜索定位。下面我们来看看emacslisp为我们提供了什么样的功能:
JavaDoc支持:JavaDoc是JDK提供的文档生成工具, 通过遵循一定的规范对源代码进行注释, JavaDoc可以生成整个程序的Java风格文档。在jde中, 我们只需要将光标定位在某method的开始, 按C-c C-v j, jde将自动生成Javadoc框架注释, 在相应的部分写好说明后, 可以使用javadoc工具生成Java风格的文档。
自动补全:将变量jde-enable-abbrevmode变量设置为t, jde可以实现自动补全的功能, 避免我们手工输入的烦琐和易错, 补全主要有三种类型, 首先关键字补全, 即可以自动补全Java语言的关键字, 如我们敲入“impl”, jde就会自动补全成为implements.其他的如abstract可以用“ab”来补全, 当然, 这只是emacs-lisp雕虫小技罢了, 但重要的是你可以通过对变量jde-mode-abbrevations变量的修改来自己定义那些关键字应补全应怎样补全。
下面介绍对控制流结构的补全, 即ifelse等结构的补全, 可以避免控制结构写大了以后结构发生错误, 不过本人体会只要你有良好的编程习惯, 这个东西用处不是太大。比较有用的还有变量名的补全, 如我们在某Java文件中定义了名字较长的变量名为“variablenametoolong”, 在后面需要引用时, 我们不必记住变量的名字, 在输入头几个字母后, 按M-/键, jde将自动补全为相应的变量名, 如果有多个选择, 多次按M-可以找到你需要的。SourceInsight式的全局method补全功能目前jde通过beanshell实现还不够成熟。
代码框架:jde可以自动生成特定类和代码段的框架代码, 不需要用户多次重复输入, 目前支持的有。
import自动生成, 即不需要知道某class到底是在什么package里, 敲入其名字后按C-c C-v C-z, jde会自动调用beanshell找到相应的package并自动加入impor t;method重载自动生成, 即可以根据当前继承的类来自动生成重载函数的框架。
interface自动生成, 根据所implements的interface, 自动生成所需要的重载的函数根据模版生成某特定类型类的框架, 目前有WindowListener, ActionListener, Get/Se等等。以上这些模版都可以根据需要自己来修改。
项目文件:将所有编译, 运行参数一次存储起来, 设置好classpath, sourcepath mainclass...之后我们可以在任一文件的Buffer中按C-c C-v C-c对当前文件进行编译, 按C-c C-v C-r可以自动运行项目或按C-c C-v C-d进行调试。
集成帮助:设置好帮助文件的URL后可以使用C-c C-v C-n自动运行启动B r o w s er来查看帮助, 最好安装e m a c sw3m, 这样看帮助非常方便, 更方便的是设置好Class的帮助文件后可以实现上下文敏感的帮助。在某符号上调用jde-helpsymbol, 可以自动显示该符号的帮助。
类和文件的浏览:jde提供了三种方法第一种即我们已提过的Class菜单, 第二种是使用etags, 第三种最强大的是使用speedbar实现的树状浏览器。几乎和商业IDE使用的没有任何区别, 可以用图形方式快速地访问文件, 类的方法及变量及其所依赖的包等等。
3 结语
jde拥有几乎无限的可配置性, 最基础可以修改与jde相关的变量和key-binding等, 深入一些的可以修改模版等, 当然最深入的就是直接Hack其源码了。
参考文献
[1]Debra Cameron, Bill Rosenblatt, HricRaymond.学习GNU Emacs[M].北京:机械工业出版社, 2003, 5.
[2] (美) Robert J.Chassell.GNU Emacs Lisp编程入门[M].北京:机械工业出版社, 2 00 1, 5.
宜搜Java开发笔试题目 篇4
时间1:30小时
Java开发
单选10道
多选10道
多是关于java继承、覆盖、重载、类型转换的,有少数几个概念题,
趣味题1道
拿灯过河问题:
A:1,B:3,C:6,D:8,E:12在30之内过河
简答题
final、finally与finalize区别
java的.序列化?如何实现
什么是GC?JVM怎么决定是否调用GC?
数据库连接池的工作原理?
编程题
用java实现单例模式,只在需要时创建对象
将两个有序数组归并为一个升序数组
猴子选大王问题,i=3,n=50(可以用java包,估计是linklist)
Java的main函数打印出1、2、2、3、4、5的全排列,其中4不能在第三位,3和5不相邻
最后单给10分钟和一张白纸,画一幅画
包括以下事物:山川、太阳、河流、房子、篱笆、树木
Java集成开发环境 篇5
关键词:JDK,Java,环境变量
Java是当今网络时代应用范围最为广泛的一种开发工具。它是Sun Microsystems公司1995创造发展的多线程, 面向对象的安全编程语言。它主要的优点在于, “一次写好, 各处运行”。在windows95/98、windows NT/2000、windows XP、Solaris2.x、wind7上都能运行。了解Java运行环境和开发工具是学习Java编程的基础, 所以我们必须认真掌握Java这一开发工具。
1 JDK目录与安装
JDK全称是Java Development Kit也就是我们平时所说的Java开发工具包。它是由Java运行环境、开发工具、相关程序以及相关文件组成的。
Sun公司根据开发JAVA程序的运行环境和场合不同, 开发了以下几种版本的JDK:一种是J2EE, 英文全称Java 2 Platform Enterprise Edition, 它主要运用于企业应用程序开发;一种是J2SE, 英文全称Java 2 Platform standard Edition, 它主要用于普通应用程序开发;还有一种是J2ME, 英文全称Java 2Platform Micro Edition, 它主要用于电子产品应用程序开发, 比如我们日常生活中的手机。
平时说提到的Java应用程序开发, 就是指J2SE开发。我们常常把JDK用来代表J2SE的开发工具包。
Sun公司根据不同的操作系统, 提供了不同的JDK版本, 这些版本一直在不断更新中。JDK1.6版本官方链接如下http://www.java.net/download, 当然也可以在脚本之家等网站下载。
JDK在Window XP中的安装十分容易。成功下载后, 只需要双击图标就开始安装了。它有自己的默认安装目录, 但是建议把它放在没有空格字符的目录文件夹里面。如C:jdk1.6或者D:jdk1.6, 这样可以有效避免在以后运行或者编译时出现路径方面的错误。现在将它安装的D盘的D:jdk1.6目录下面。JDK在Windows XP中安装完成后, 会自动安装JRE。这样JDK安装就完成了。
2 Java开发环境的设置
2.1 java和javac这两个命令使用过程中的问题
一旦JDK安装完成, 我们就可以使用Javac与java命令。启动命令窗口, 具体步骤如下, 首先点击开始运行, 然后在窗口中输入cmd, 最后点击确定。当java和javac命令在E盘执行的时候, 屏幕上出现使用帮助, 这表示JDK大致可以开发程序, 有时候也会遇到如下的问题:屏幕出现“java:command not found”、“java不是内外部命令和可运行程序”等报错信息。这时候我们就需要一步一步的核查安装过程, 找到系统环境变量。
2.2 访问环境变量
系统中所有运行程序都可以访问环境变量。目前访问windows XP中的环境变量主要有以下两种方式。一种是set命令直接执行。大量等式出现在打印结果中。等号左右两边分别为环境变量的名称和取值。另外一种是点击“我的电脑”-“属性”找到系统属性。点击“高级”, 打开环境变量页面。页面上下分别是用户变量和系统变量。对全部用户有效的是系统变量, 单独对某个用户有效的是用户变量。我们在命令行窗口中通过set查看的时候, 可以看到全部环境变量。要想查看变量设置情况, 只需要在set后面加上变量名称。下面就以set path来举例。当输入set path的时候, 只有path变量设置情况会显示出来。系统变量值加上用户变量值就是这个地方的path变量取值。
2.3 设置环境变量
主要有两个途径。途径一:首先在命令行窗口录入‘set变量名=变量名的取值’, 比如:set Xx=cc;然后在set命令下, 可以看到如下显示:环境变量中增加了刚刚定义的变量Xx, 取值为cc。接下来利用‘set变量名=’取消赋值。如果环境变量是在命令窗口中设置的, 那么这个环境变量只对这个命令行窗口才起作用, 对其他命令行窗口是没有作用的。path变量值添加内容的方法如下, 在命令“set path=”后加入path原有值, 然后在后面输入新赋值。但是手动方式输入比较麻烦且容易出错, 下面介绍一种更加简单的方法。
选中需要复制的内容, 点击鼠标右键, 进行复制, 然后把它复制到需要粘贴的地方。途径二:在环境变量对话框中, 点击新建系统变量, 在弹出对话框中输入新的变量值和变量名。
2.4 变量在path环境的作用
在执行一个命令的时候, 操作系统会优先在当前目录下搜索这个命令, 如果当前目录里面没有搜索到这个命令, 系统就会在path变量提供的目录中逐个搜索, 以最先搜索出来的为准。
2.5 java编程过程
第一步, 设置path。在命令窗口中录入:set=%path%和E:j2sdk1.6.2_04bin。第二步, 创建一个新文件夹:E:mywork专门用于java程序文件的放置。第三步, 利用系统记事本创建Welcome.java。源文件内容截屏如下:
第四步, 使用cd命令, 把当前位置改为E:mywork, 输入javac Welcome.java。编译源文件, 字节码Welcome.class被生成。然后输入java Welcome, 运行Welcome这一类。至此, java程序运行成功, “Welcome to core java!!”这一信息出现在命令窗口中。
3 结束语
正确高效的运行和编译java程序, 要求我们既要掌握准确的编写源程序, 还要精通JDK的安装和环境变量的设置。两者相互作用, 缺一不可。
参考文献
[1]支艳强, 谢文阁, 王丽丽.基于JDK的Java集成开发环境的设计与实现[J].大众科技, 2011, 09:9-11.
[2]曾浩.使用JDE配置Java开发环境[J].科技资讯, 2012, 22:9+11.
[3]孙艳峰, 郭晓燕.浅谈Windows下的JDK安装与java开发环境的配置[J].科技信息, 2009, 02:188+190.
Java开发通信录系统 篇6
在日常的工作和生活中, 会有大量的人需要接触和联系。因此有必要将众多联系人信息记录下来, 以方便联络。而要将这些信息进行电子化存储, 并提供查询等相关操作, 就是本系统要实现的功能。
本系统是一个通信录程序, 使用Java语言开发而成。可以使用本系统进行联系人信息的增加、删除、修改、查询等常用的操作。
本系统设定的联系人全部信息包括名字、手机、单位、部门、职务、职称、学历、学位、性别、出生日期、电话、传真、邮件、网页、地址、邮编、备注, 共17项。其中名字和手机是必填信息, 其他为选填信息。为实现分类管理联系人的目的, 系统中首先要建立不同的组, 联系人信息放在组中。程序界面左边是一个树控件, 显示组及组成员的主要信息 (手机+名字) 。程序界面右边是一个表控件, 显示组成员的详细信息。包括联系人的全部信息。程序界面上边是下拉菜单, 包括组管理和成员管理两个菜单。在树控件里单击右键出现弹出菜单, 内容和下拉菜单一致。在树控件里双击, 将在右边表控件中显示选中的详细信息。组管理菜单是对组的各项操作, 包括组增加、组删除、组改名、组导入、组导出各项。成员管理菜单是对组成员的操作, 包括成员增加、成员删除、成员修改、成员查询各项。XML文件的层次性强, 操作方便, 适合存放数据。本程序数据存储在XML文件中。
2 用户界面
本系统用户界面使用Swing开发。Swing是Java语言提供的专门开发图形界面系统的工具包, 通过使用Swing的功能, 可以方便地建立用户界面。
使用下拉菜单代码如下:
使用弹出菜单代码如下:
界面中有各种常用的控件, 比如标签、输入框、列表框、组合框、单选框、复选框、按钮等。常用的操作如下:
要处理鼠标右键代码如下:
要处理鼠标双击代码如下:
对于层次性的数据, 可以使用树控件, 一些常用操作如下:
对于一行一行的数据, 可以使用表控件, 一些常用操作如下:
3 XML数据操作
本系统使用DOM提供的功能操作XML。
读XML操作如下:
写XML操作如下:
4 部分程序
由于源程序代码较长, 故只列出函数头代码, 详细代码可参见源程序。
5 结语
基于Java的拼图游戏开发 篇7
1. Java语言概述
Java诞生于网络时代, 虽然它的历史短暂, 但它的发展壮大并不是偶然的, 而是有着内在的基础和外在的机遇。
2. Java的开发运行环境
JDK:从初学者角度来看, 采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系, 有利于理解Java面向对象的设计思想。
JCreator是一个Java程序开发工具, 也是一个Java集成开发环境 (IDE) 。无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。
3. 本论文的研究意义和内容
本论文主要研究的内容有:
拼图游戏, 必须有图片, 拼图就是把一张图片分为大小相同的几张, 然后在游戏中打乱他们的顺序, 让玩家把他们移动。
上述的情况需要用到PS技术, 在PS中可以把图片切割成大小相等的图片。在此游戏中将“jiwei.jpg”用PS分割成了相等的16张。
玩家通过开始按钮开始游戏, 在游戏中有计数功能和计时功能。
所谓计数功能就是记录玩家从游戏开始后, 到目前为止一共走了多少步, 也就是一共移动了多少次图片。
所谓计时功能就是记录玩家从游戏开始以后, 到目前为止一共用了多长时间, 直到游戏结束即玩家成功完成拼图。
每移动一步我们要判断到这一步我们是否完成了拼图。
二 游戏开发环境及相关技术的介绍
开发环境: (1) 硬件要求:CPU PII以上, 64MB内存, 100MB硬盘空间; (2) 软件要求:Windows 98/NT/2000/XP, Internet Explorer 5.0; (3) 开发包:JDK; (4) 开发工具:JCreator3.5。
三 程序的相关技术
程序需要解决的主要技术问题:
拼图游戏就是把一张图片分为大小相同的几张, 通过玩家对他们的移动, 直到不再是四分五裂的图片而变成一张完整的图片。
在PS中可以把图片切割成大小相等的图片。在此游戏中将“jiwei.jpg”用PS分割成了相等的16张。
玩家通过开始按钮开始游戏, 在游戏中有计数功能和计时功能。
计数功能记录玩家从游戏开始以后, 到目前为止一共走了多少步, 也就是一共移动了多少次图片。
每移动一步我们要判断到这一步我们是否完成拼图, 我们要设计算法实习判断拼图是否完成, 如果拼图完成显示对话框“success!”对话框。
每点击一次开始, 16张图片就随机地变换位置, 然后重新开始游戏。
四 程序分析和具体实现
Move Frame中的内部类:MoveCanvas类和Move Panel类是两个内部类。 (1) MoveCanvas类主要实现16张小图片的加载、对小图片移动时的监听判断及点击开始图标以后的图片重新随机排列, 以及判断玩家是否成功完成了图片排列。 (2) MovePanel类主要实现计数、计时的重置和加载大图片 (jiwei.jpg) 。添加“开始”按钮, 计时lable, 步数lable。
五 总结
本程序设计实现了以Java为平台的拼图游戏的开发, 运行的方式由程序进行控制, 具有一定的可玩性。经过细心的调试和排错解决了绝大部分的问题。
参考文献
基于Java的BBS开发 篇8
进入21世纪, 伴着社会经济的高速发展, 人们对信息的渴求越来越大, 对信息的获取速度要求也越来越高。随着计算机技术的愈发成熟, Internet也日渐渗透到人们的学习、生活和工作等方面, 成为人们生活之中不可缺少的一部分[1]。比如:通过网络进行知识交流、网上购物、网上付款、获取新闻等。高度发达的社会, 使得信息的传播尤为重要。BBS网络论坛便应用而生。它是Internet的重要应用之一, 是Internet上一种主要的信息交流和发布平台[2], 在这个平台上, 人可以自由发表自己发观点以及意见, 也可以参与到热门话题的讨论, 人们的交流也日益密切。
本文在分析设计设计时, 遵循了软件工程的思想。本设计是基于JSP和MVC模式的BBS论坛, 采用SQL Server进行数据库的管理、操作和维护。利用Myeclipse开发平台和HTML、JSP实现前台界面设计、后台数据库接口、帖子的发布以及回复等各项功能[3]。文中比较详细的介绍了系统功能设计、系统功能的实现、系统功能测试以及总结与展望。
2 系统设计
2.1 系统概述
本论坛共由三大部分组成, 分别为用户模块、帖子模块以及管理员模块, 各个版块之间相
互转化。论坛总体概述图见图1:
通过上面概述图, 大概了解了论坛系统的组织结构, 现给出本论坛的基本功能流程图, 图2为系统功能流程图。
2.2 系统功能设计
2.2.1 用户模块
顾名思义, 用户模块是针对用户的。用户在论坛中的主要操作有浏览别人发的帖子, 自己发表帖子, 回帖以及与个人信息相关的操作。其中, 个人信息相关操作包括用户注册、登录, 修改个人资料等。图3详细描述了用户模块的相关功能。
2.2.2 帖子模块
本模块为论坛的最重要的一部分, 论坛的主要功能基本在这一模块实现。帖子模块不仅包括用户在这一模块下的操作, 也包含了管理员在此模块下的操作。主要包括:发帖、回帖、删帖等操作。图4给出了帖子模块的具体功能。
2.2.3 管理员模块
考虑到论坛中帖子数量, 用户人数等原因, 本论坛设置管理员。对于普通用户而言, 管理员不仅要拥有普通用户的所有权限, 还要拥有普通用户所没有的权限。比如设置管理员、用户的禁言以及帖子的删除;对于帖子模块而言, 管理员要充当管理者的角色, 布置论坛的版块, 维护论坛的正常运行。
3 系统实现
3.1 论坛系统的开发环境
论坛使用Myeclipse 10作为系统的开发软件, Myeclipse是在eclipse的基础上加上自己的插件开发而成的一款功能强大的企业级开发环境, 由于Myeclipse可以支持Java Servlet、Jsp、JDBC数据库连接, 故本设计采用其作为开发软件。
本设计使用SQL Server 2008作为论坛系统数据库, SQL Server具有强大的兼容性, 其数据可以存储在各种设备上;在安全性上, SQL Server对数据进行加密, 为关键应用程序提供了强大了安全技术支持, 保证数据不容易受到非法攻击或恶意篡改;在功能上, SQL Server提供了可预测响应, 使其对数据的处理速度更快, 响应更迅速。
本论坛使用Tomcat 7.0作为系统服务器。Tomcat服务器是一个免费的开源的轻量级应用服务器。Tomcat对最新的Servlet、JSP具有完美的支持。除以上关键软件之外, 论坛中还使用了JDK 1.8作为支持Java运行的环境, 整个论坛系统在window8.1下完成开发设计。
3.2 系统开发模型
本论坛系统采用的是MVC模型, 目前, MVC模式已广泛的应用于Web程序开发中[4]。MVC设计模式强制性将程序的输入、输出、处理分开, 使得程序设计更加清晰明了, 后期具有较好的维护性和扩展性。MVC模式共分为三层, Model (模型) 表示业务逻辑层, View (视图) 代表表示层, Controller (控制器) 代表控制层[5]。三者相互关系见图6。
论坛页面采用JSP页面, JSP是一种基于JAVA语言的动态Web应用开发技术[[66]]。JJSSPP页面在执行时采用编译方式, 生成SSeerrvvlleett。JJSSPP具有许多优点, 如:一次编写, 到处运行;支持多个平台;内容和显示分离;组件重用性高等[]。
3.3 系统开发页面简介
4 总结与展望
本文搭建了一个基于Java的BBS论坛系统, 所述设计采用的开发平台为Myeclipse+Tomcat+JSP+Servlet+SQLSERVER2008。全文系统地阐述了BBS研究意义以及设计概念, 所做主要工作包括:
1) 调查研究当前BBS发展状况以及研究的重要性;
2) 介绍了BBS论坛设计概念, 应用MVC模式将应用逻辑、现实逻辑和处理过程分离, 数据库设计理念, 各个模块的功能实现;
3) 系统各项功能的测试。
摘要:该文是基于Java的BBS论坛后台设计, 设计时遵循软件工程思想。系统采用MVC架构模式, 应用JSP+Servlet技术, 让前端页面和后台代码分离。同时使用Java Bean组件增强代码的重用性, 共同实现了后台的数据处理以及数据的输出, 使得系统易于维护。系统数据库使用SQL Server 2008, 完成了系统的数据管理。
关键词:网上商城系统,javaEE,MVC,B/S结构,Myeclipse
参考文献
[1]赵驰龙.实用数据库教程[M].北京:清华大学出版社, 2010:98-100.
[2]张丽华, 李德荣, 王冬星.BBS论坛的设计与实现[J].电脑学习, 2009 (6) :2-3.
[3]Hammouda I, Koskimies K.A.Pattern-Based J2EE Applica-tion Development Environment[J].Nordic Journal of Comput-ing, 2002, 9 (3) :248-260.
[4]徐永彪.基于MVC框架的BBS论坛管理系统的设计与实现[D].昆明:云南大学, 2012:41-45.
[5]张志峰, 甘勇, 黄敏.JSP程序设计技术教程[M].北京:清华大学出版社, 2014:9-10.
[6]王雷, 蔡自兴.用JSP开发Web应用[J].计算机应用, 2001 (10) :45-57.
[7]张丽华, 李德荣, 王冬星.BBS论坛的设计与实现[J].电脑学习, 2009 (6) :56-58.
Java集成开发环境 篇9
Java具有简单、跨平台、面向对象、分布性、健壮性、安全性等特点,自诞生以来,很快受到广大程序员的推崇,在IT行业,取得了辉煌的成功,成为最具竞争力的程序设计语言之一。
Java的跨平台性是其广受欢迎的一个重要因素。Java程序是运行于java虚拟机(JVM)之上,不同的系统,安装不同的虚拟机,实现同一份代码可以在不同系统上运行。从这个角度来说,Java是Java语言和Java虚拟机的总称。
Java的应用主要有三个方面:桌面应用开发、Web应用开发及嵌入式系统开发。其中Web应用开发是Java主要应用领域之一,同时,基于Java的Web开发在整个Web开发领域占据重要地位。目前,很多的Web开发将Java作为作为首选,尤其是大中型Web应用。基于Java的Web开发从最初的JSP,发展到后来的Servlet,吸引着越来越多Web程
1 Web技术概览
Web与Internet有密不可分的关系。Internet诞生之初是为了科研开展提供便利,用来连接美国国内几个顶尖的科研机构,后来该技术得到了进一步的发展,人们提出了HTTP协议(Hypertext Transfer Protocol,超文本传输协议),用于进行超文本(hypertext)和超媒体(hypermedia)数据的传输,从而将页面显示在用户端浏览器上。当今,Web已经从早期的静态发展到了动态阶段,办公自动化、电子商务等应用的兴起,更是使得Web技术成为我们工作和生活中不可或缺的部分。
1.1 静态Web
早期的Web都是静态的,客户端显示的页面是Web服务器上的html(htm)文档,当需要增加、删除、修改服务器上的页面,必须重新对服务器进行文件更新。无论是否有用户访问,静态页面一经发布,便存在于web服务器上,也就是说,静态页面是真实存在于服务器上的文档,每个页面对应一个独立html文档;静态页面内容固定,易被检索;但由于缺少数据库的支持,网站前期设计和后期维护的工作量较大,当信息量较大时,仅仅通过静态页面来提供Web服务难度较大;静态网页缺乏灵活性,与用户的交互不足,功能有限。静态Web的访问示意图如图一所示。
1.2动态Web
动态Web是指服务器根据用户的请求动态生成响应内容,浏览器作为用户与服务器动态交流的桥梁,动态网页交互性强,可以灵活的满足各种复杂功能需求。Web服务器动态生成动态页面内容,当需要修改时,只需修改用户的访问条件或后台数据即可,不需要修改网页,易于开发和维护。正是有了动态Web技术,Web应用才得以如此广泛的普及,且在慢慢取代很多传统的应用实现模式。动态web的访问示意图如图二所示。
动态Web将数据和显示进行了分离,动态页面并不真实地存在与服务器之上,而是根据用户的请求动态生成,它具备以下几个特点:
(1)动态web以数据库作为后台,大大提高了网站的可维护性,降低维护工作量;
(2)动态Web可以满足各种复杂的功能需求,如用户注册、用户登录、用户管理、订单管理、在线调查等等;
(3)动态Web的页面文件并不真实独立存在于服务器上,只是当用户请求时,服务器才会动态生成页面内容,并返回一个完整的页面;
(4)动态页面因为内容不固定,搜索引擎检索存在一定的问题,搜索引擎不可能从一个Web服务器的数据库中获取所有可能的页面内容,所以,在进行搜索引擎推广时,为了能适应搜索引擎的要求,动态Web需要做一些的技术处理。
静态web和动态web各有利弊,在实际开发中,往往是结合使用,根据实际的需要进行选择,以使得web应用取得最好的效果。
1.3 几种常见的动态web设计方式
交互性是动态Web的最大特点,即服务器会根据用户的请求显示相应的结果。现在流行的搜索引擎,采用的就是动态Web技术,它根据用户输入的关键字返回相应的搜索结果。
实现动态Web的方式常见的有以下5种:
CGI:动态Web最早出现的实现方式,可以用任何的语言实现,但这种方式采用的是多线程机制,需要为每个连接的用户创建一个服务进程,效率较低。
PHP:是一种跨平台的服务端嵌入式脚本语言。语法跟c相似,使用方便,开发效率高,且完全免费。但它需要Apache服务器支持,且只有跟My Sql数据库配合,才能达到最高性能,适用于中小型规模项目。
ASP:是一种服务器端开发环境,它可以编写动态交互、高性能的Web应用程序。采用VBScript作为开发语言。但ASP只能运行在IIS服务器上,且只能与SQL Server数据库配合才能取得最好性能,适用于中小规模项目。
ASP.NET:是微软继ASP之后,推出的新一代动态Web开发技术。它基于.NET框架平台,可以选择该平台下任何语言开发。该技术只能应用于微软的平台,适用于中等规模的项目开发。
JSP:基于Java语言的动态Web开发技术,通过在HTML代码中嵌入Java代码实现功能。Java具有跨平台的特性,所以JSP同样具有跨平台的特性,不会局限与某个系统和平台,有很多的服务器支持JSP,经常用于大型项目的开发。JSP是有Servlet发展而来的,具有使用简单、开发高效等特点。
2 基于Java的Web设计模式
随着Servlet技术、JSP技术、Java Bean组件技术及J2EE开发平台的提出和发展,基于java的动态Web设计成为Web开发的主流技术。同时,随着人们开发经验的积累和总结,及项目的复杂度越来越高,设计模式也在不断发展,新技术的引入大大的提高了项目开发的效率和可维护性。
2.1 朴素模式
该模式是指开发中将显示层、控制层和数据层的操作统一交给JSP或Java Bean来进行处理,如图三所示。
早期的Web项目,规模不大,功能单一,常常采用Jsp来实现所有功能,Jsp页面既包含数据显示代码又包含数据处理代码,这种方式实现比较简单,但Jsp页面代码繁杂,可读性差,不易维护,也不利于后期的扩展,对于小的项目还可应付,项目规模一旦较大,这种完全Jsp的开发方式就无法应对了。
为了弥补完全Jsp开发方式的缺陷,后来引入了Java Bean组件技术,它与Jsp分工合作,Jsp侧重于流程控制和数据的显示,Java Bean侧重数据处理,这种数据的显示和处理分离技术使得项目开发更加的合理化,Jsp页面的功能和代码都得到了简化,可维护性和可扩展性都得到了加强。但是流程控制的任务仍然有Jsp承担,Jsp页面中还是需要包含大量的Java代码。对于业务逻辑比较简单的场合还能应付,一旦项目的业务逻辑复杂,Jsp页面代码也变得复杂,从而给项目开发和维护带来很大的难度。
随着现在项目规模的日趋庞杂,这种模式不能满足业务比较复杂的场合。
2.2 MVC模式
在朴素模式中,缺少流程控制部分,这也直接使得朴素模式无法适应复杂项目的需求,为了解决这个问题,Java Web开发引入了Servlet技术。它负责接收并根据用户请求,调用或跳转到相应Web组件,从而实现业务流程的控制。Servlet的出现,分担了Jsp的业务流程控制功能,使得Web项目各组件的分工更加的合理,项目开发和维护更加的容易,即使的复杂的大项目,也能够确保整个项目的层次分明,条理清晰。Servlet的出现,使得Web开发采用MVC模式成为可能。
2.2.1 MVC模式原理
随着Web应用的广泛和普及,Web开发也成为当今软件开发的一个热点,随着Web开发经验的积累及软件工程学的发展,出现了很多优秀的Web设计模式,MVC是其中影响最大的一个,且渐渐成为主流模式,广泛应用于当今的Web开发。
MVC模式有三个部分组成:模型(model)、视图(view)、控制器(controller)。
(1)模型:它是应用对象,作为应用程序的主体,负责数据的具体处理,完成各种业务逻辑。
(2)视图:作为用户界面,负责与用户的交互工作及数据的显示,提供用户数据的输入界面及向用户展示数据处理的结果。
(3)控制器:主要负责业务流程的控制。它接收用户发来的请求,并根据请求信息调用或跳转到相应Web组件。
MVC的一般的处理流程如图四所示。
MVC式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。
2.2.2 JSP+Java Bean+Servlet实现MVC模式
Java web开发中的这三种技术,可以很好的实现MVC模式。JSP作为视图,负责数据的显示,及向用户提供输入界面等工作。数据模型由Java Bean实现,它负责具体的数据操作和业务逻辑。Servlet作为控制器,接收用户的请求,且根据需要,调用相应的Web组件处理,起到流程控制的作用。在开发过程中,遵循MVC模式的要求,合理运用JSP、Java Bean和servlet技术,可以设计出高质量的Web应用,有利于日后的维护和扩展。
2.2.3 Struts框架
随着项目规模和复杂度的不断提高,原始的JSP+Java Bean+Servlet实现MVC的方式已经不能满足要求,IT专家们在不断经验总结的基础上,提出了Struts框架,它是MVC设计模式的经典应用。它主要采用JSP和Servlet技术实现,能很好满足Web项目开发的需求,特别的规模大,复杂度高的项目,也能应对自如。Struts框架一经提出,即获得了广泛的应用和快速的发展。它把JSP、Servlet、信息资源整和自定义标签合在一个统一的框架中,开发人员利用其进行开发时,只需要在框架的基础上,添加自己特定的代码,无需自己编码实现全套MVC模式,极大提高开发效率,节省了时间,增强开发项目的可维护性性和可扩展性。
3 结束语
随着网络的普及,Web应用变得越来越广泛,Web开发也成为了当今软件开发领域的一个热点,Java是为网络而生的语言,与生俱来的特性,使得它特别适合于Web开发领域,基于Java的Web开发占据了Web开发的重要份额。随着需求的不断发展和知识经验的累计,基于Java的Web开发技术也在不断地发展,在具体开发时,应该根据实际的需要选择合适的技术。
参考文献
[1]许令波.深入分析Java Web技术内幕[M].北京:电子工业出版社,2012.
[2]孙卫琴.Tomcat与Java Web开发技术详解(第2版)[M].北京:电子工业出版社,2009.
[3]蒋海昌.Java Web设计模式之道[M].北京:清华大学出版社,2013.
[4]邬继成.J2EE开源编程精要15讲[M].北京:电子工业出版社,2008.
[5]张玲玲.深入体验Java Web项目开发[M].北京:清华大学出版社,2011.
[6](美)Bruce Eckel,著.陈昊鹏,译.Java编程思想(第4版)[M].北京:机械工业出版社,2007.
[7](美)Joshua Bloch,著.杨青花,俞黎敏,译.Ef-fective Java中文版(第2版)[M].北京:机械工业出版社,2009.
【Java集成开发环境】推荐阅读:
集成开发环境07-01
Java开发11-14
Java开发平台06-26
java开发接口范文06-03
java开发项目总结09-23
java开发简历范文10-14
软件集成开发平台09-15
java开发所有框架简介08-27
JAVA应用程序开发06-02
java开发述职报告07-16