特别说明:
如果文中某图片显示不出来,只有空的框,请点击鼠标右键选择“显示图片”即可显示出来,这可以是服务器的原因。
由于这里上传图片太麻烦,所以没有加入所有的图片,详情见http://javawebstudio.51.net/j2005.htm
_____________________________________________
javawebstudio 2005下载地址:
ftp://61.155.65.187/upload/
用户:lhbup
密码:lhbup
javawebstudio 2005是目前最方便快捷的可视化struts、jsp、hibernate开发平台,是功能强大的java web集成开发环境(ide),javawebstudio 2005新增功能如下:
1、 改进功能:
1.1 环境变量设置
1.2 中文编辑双字节处理
1.3 键盘快捷键处理
1.4 文件管理器
1.5 类管理器
1.6 工具栏中html控件(标签)拖动功能
1.7 启动画面的随机图像显示和主画面的可定制显示
1.8 java文件编辑自动提示的快速搜索
1.9 可快速跳转到任何已知类源文件
1.10 增强系统的稳定性
1.11 可对各种网站内容特别是不能进行“另存为”和“查看源文件”操作的网站进行编辑
2、 新增功能:
2.1 struts jsp页的可视化图层设计
2.2 可视化样式设计
2.3 交互式按钮设计
2.4 bean工厂、bean_dao工厂
2.5 bean变量及action配置动态监视功能
2.6 批量bean变量添加
2.7 hibernate文件向导功能
2.8 新增了struts_menus模板、struts1.2.4模板、jsf模板、hibernate模板
2.9 jdk采用了j2se 5.0(即1.5)版本,服务器采用了jakarta-tomcat-5.5
2.10 支持j2me开发,在采用wtk2.2版本,提供15个j2me模板
2.11 调试功能
2.12 javawebstudio开源项目:struts_db
下面是javawebstudio界面预览:
——————————————————————————————————————————
1.1 环境变量设置
环境变量从原来的启动时检测改为启动完成后,在新建项目时检测,所以可在启动完成后从“启动”—“设置环境变量”菜单进行环境变量的设置。
环境变量设置时,将提示是否要保存老的环境变量设置,如果选择保存将把存老的环境变量设置保存在/javawebstudio/bin/config目录下的old_environment.config文件中。包括如下几项:
<classpath></classpath>
<java_home></java_home>
<ant_home></ant_home>
<path></path>
方便过后手工恢复老的环境变量设置。
设置javawebstudio2005时,如果原版本的安装目录是javawebstudio,将自动删除原来的设置,更为新。
javawebstudio 2005环境变量的设置path一项采用了独立的javawebstudiopath项,在path仅仅添加“%javawebstudiopath%”一项;classpath一项仅添加dt.jar;htmlconverter.jar;jconsole.jar; tools.jar四个库文件即可。这样完全解决了原版本中环境变量的设置的各种问题。
1.2 中文编辑双字节处理
原版本中文编辑时,无法自动识别中文,不能进行双字节处理。javawebstudio 2005完成解决了这个问题,可自动识别中文,自动进行双字节处理。
1.3 键盘快捷键处理
原版本部分编辑框无法使用键盘快捷键进行自制、删除等处理,javawebstudio 2005已解决了这一问题。
1.4 文件管理器
原版本文件管理器无法进行自动刷新及键盘快捷键进行自制、删除等处理,javawebstudio 2005已解决了这一问题。
1.5 类管理器
类管理器的解析原版本只到类一级,javawebstudio 2005可解析函数一级,对函数双击鼠标左键可自动跳转到原文件的对应函数位置。
1.6 工具栏中html控件(标签)拖动功能
原版本的工具栏中,html控件(标签)只能实现插入功能,javawebstudio 2005改为拖动功能,操作更方便。
1.7 启动画面的随机图像显示和主画面的可定制显示
启动画面的随机图像显示,并可由用户设置图像所在的目录,javawebstudio 2005将到指定的目录中随机读取一个图像文件进行显示。目录配置在javawebstudio.config配置文件中的<starimagedir>/res</starimagedir>项中,用户可改成功其它的目录。主画面的可定制显示,配置在javawebstudio.config配置文件中的<startfile>/help/help/html/index.htm</startfile>项中,如果这一项设置为空,即为<startfile>/help/help/html/index.htm</startfile>,就不显示主画面启动主画面,启动速度可加快一些。
1.8 java文件编辑自动提示的快速搜索
原版本java文件编辑自动提示的搜索采用即时搜索方法,速度慢。javawebstudio 2005采用了预先搜索方法,大大提高加快了搜索速度,提高了java文件编辑自动提示的显示速度。
1.9 可快速跳转到任何已知类源文件
在)java文件编辑中,对编辑区的的某个类名点击鼠标右键,选择“跳转到原文件”,即可打开相应的类原文件。
例如对action点击鼠标右键并选择“跳转到原文件”,即自动打开struts的action.java源程序。javawebstudio 2005带有jdk、struts、hibernate等决大部分的源程序。
自动打开和跳转到acion.java文件。
1.10 增强系统的稳定性
javawebstudio 2005增强系统的稳定性。
1.11 可对各种网站内容特别是不能进行“另存为”和“查看源文件”操作的网站进行编辑
先在javawebstudio 2005地址栏中输入要编辑的网站地址,按回车键打开网站,选择“编辑”主菜单下的“编辑”了菜单,即可对网站内容进行编辑,然后保存就行了。这一功能特别在遇到相查看网页源代码但又不能进行“另存为”和“查看源文件”操作的网站有用。例如相查看“老鼠爱大米”这个flash的源文件,可采用如下方法查看:
2.1 struts jsp页的可视化图层设计
从web编辑工具条中点击插入图层工具,或选择“插入”—“插入图层”菜单,可插入图层一个图层:

可对图层进行可视化编辑:

2.2 可视化样式设计
对控件点击鼠标右键选择“控件属性及样式”:

边框设置:

底纹设置:

2.3 交互式按钮设计

打开html、jsp等web文件,把编辑光标定位在要插入交互式按钮处,再点击web编辑工具条上的交互式按钮工具,可进入交互式按钮设计界面。
交互式按钮设计界面:
一般可用两层来代表一个按钮,也可以是一层或多层:

按钮的文字可通过拖动边框大小平滑改变字体大小,这点非常方便:

文字层的属性:

背景图片层的属性:

两层重叠放在一起:


用鼠标同时选择两个层,点击鼠标右键选择“插入(返回)到网页中”—“图片方式(img)”:
自动插入到了web编辑页面中:

2.4 bean工厂、bean_dao工厂
这里的“工厂”并不是指“工厂模式”,而是指可根据数据库表字段或输入字段信息可自动生成bean文件及dao文件。
从文件管理器中点击鼠标右键或从“文件向导”菜单中选择“struts”—“struts_bean工厂”:
输入文件名,并点击“选择或新建数据源”,选择数据源:

选择数据源表名:
自动生成bean文件mybeanname.java,内容如下:
package emptyprj;
import org.apache.struts.action.actionform;
public final class mybeanname extends actionform
{
private string role;
private string password;
private string username;
//myfiledata;
public string getusername()
{
return (this.username);
}
public void setusername(string username)
{
this.username=username;
}
public string getpassword()
{
return (this.password);
}
public void setpassword(string password)
{
this.password=password;
}
public string getrole()
{
return (this.role);
}
public void setrole(string role)
{
this.role=role;
}
}
2.5 bean变量及action配置动态监视功能
打开jsp文件时,如果jsp文件中有struts表单,javawebstudio 2005将自动到配置文件中读取表单位的action配置及actionform配置,并在bean变量提示栏中显示出来。
同时javawebstudio 2005将自动读取actionform源文件中的bean变量,并在bean变量提示栏中显示出所有的bean变量。

2.6 批量bean变量添加
在java源程序编辑窗口中点击鼠标右键,从弹出采单中选择“批量添加bean变量”。

选择“完成”按钮,自动生成bean变量,自动生成的源代码如下:
package emptyprj;
import javax.servlet.http.httpservletrequest;
import org.apache.struts.action.actionerror;
import org.apache.struts.action.actionerrors;
import org.apache.struts.action.actionform;
import org.apache.struts.action.actionmapping;
public final class lykform extends actionform
{
private string mybean6;
private string mybean5;
private string mybean4;
private string mybean3;
private string mybean2;
private string mybean1;
private string mybeanvariable1;
//myfiledata;
public string getmybeanvariable1()
{
return (this.mybeanvariable1);
}
public void setmybeanvariable1(string mybeanvariable1)
{
this.mybeanvariable1=mybeanvariable1;
}
public void setmybean1(string newmybean1)
{
mybean1=newmybean1;
}
public string getmybean1()
{
return mybean1;
}
public void setmybean2(string newmybean2)
{
mybean2=newmybean2;
}
public string getmybean2()
{
return mybean2;
}
public void setmybean3(string newmybean3)
{
mybean3=newmybean3;
}
public string getmybean3()
{
return mybean3;
}
public void setmybean4(string newmybean4)
{
mybean4=newmybean4;
}
public string getmybean4()
{
return mybean4;
}
public void setmybean5(string newmybean5)
{
mybean5=newmybean5;
}
public string getmybean5()
{
return mybean5;
}
public void setmybean6(string newmybean6)
{
mybean6=newmybean6;
}
public string getmybean6()
{
return mybean6;
}
}
2.7 hibernate文件向导功能
提供了hibernate和hibernate+struts文件向导,自动完全所有的配置和生成所有的bean、dao、action文件。不用自已写一行代码,只需要输入文件名和数据源,即可完成hibernate的应用程序设计。
见《如何实现hibernate_struts 数据库应用程序》。


2.8 新增了struts_menus模板、struts1.2.4模板、jsf模板、hibernate模板
从下面“新建项目”对话框也可以基本看得出,项目类型的分类更多也类细,每个项目类型下都增加了新的模板。
2.9 jdk采用了j2se 5.0(即1.5)版本,服务器采用了jakarta-tomcat-5.5
javawebstudio 2005 采用的是jdk版本是j2se 5.0(jdk 1.5.0),方便用户使用j2se 5.0提供了大量新功能。同时,服务器采用了jakarta-tomcat-5.5.5。用户也可以自己到tomcat 官方网站http://jakarta.apache.org/site/binindex.cgi下载最新版本的tomcat服务器。然后通过下面的步骤进行配置即可,这里以tomcat-5.5.4主为例:
(1)把下载的tomcat压缩文件jakarta-tomcat-5.5.4.zip解压到javawebstudio的根目录下,例如:f:/javawebstudio/目录。tomcat压缩解压后的目录名是jakarta-tomcat-5.5.4。
(2)把开/javawebstudio/bin/config/目录下javawebstudio主配置文件javawebstudio.config:
其中<jspserver_home>一项是设置服务器的相对目录,相对javawebstudio的根目录;<jspserver_workdir>是服务器工作目录,相对于服务器的根目录;<jspserver_starfile>服务器启动文件,是相对于服务器的根目录;<jspserver_stopfile >服务器停止文件,相对于服务器的根目录;<jspserver_starfile_debug >调试状态下的服务器启动文件,相对于服务器的根目录。
<jspserver_home>/jakarta-tomcat-5.5.4</jspserver_home>
<jspserver_workdir>/webapps</jspserver_workdir>
<jspserver_starfile>/bin/startup.bat</jspserver_starfile>
<jspserver_stopfile>/bin/shutdown.bat</jspserver_stopfile>
<jspserver_starfile_debug>/bin/startup_jpda.bat</jspserver_starfile_debug>
<debug_command>jdb -attach jdbconn</debug_command>
<javawebstudio_newprjdir>/javawebstudioworkdir</javawebstudio_newprjdir>
<jspstudio_newprjdir>/javawebstudioworkdir</jspstudio_newprjdir>
//1--microsoft visual studio 97
//2--microsoft visual studio.net
//3--microsoft office 2003
<appinerfacetype>3</appinerfacetype>
<starimagedir>/res</starimagedir>
<interdrawdir>/res/interdraw</interdrawdir>
<startfile>/help/help/html/index.htm</startfile>
(3)由于新下载的tomcat没有调试状态下的服务器启动文件startup_jpda.bat,所以得自己建立startup_jpda.bat文件,方法是把startup.bat的内容全部拷贝到startup_jpda.bat文件中,然后修改倒数第二行,原来是:
call "%executable%" start %cmd_line_args%
把它改成:
call "%executable%" jpda start %cmd_line_args%
保存即可。
2.10 支持j2me开发,在采用wtk2.2版本,提供15个j2me模板
通过javawebstudio 2005提供的j2me模板开发手机游戏的步骤如下:
(1)启动javawebstudio
(2)利用j2me模板建立手机游戏新项目
通过“文件”—“新建项目”菜单建立一个新的项目。
在新建项目对话框中,选择项目类型为“jme应用程序项目”,模板名称选择“实现菜单模板”,项目名称为“jmemenu”。
生成的新项目目录结构如下:
(3)本项目主要入口和实现代码都包含在firstmidlet.java文件中,内容如下:
package my;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class firstmidlet extends midlet
{
private display display;
public firstmidlet()
{
display = display.getdisplay(this);
}
public void startapp()
{
form f = new form("测试") ;
command c1=new command("back_1",command.back,2);
command c2=new command("back_2",command.back,1);
command c3=new command("back_3",command.back,3);
f.addcommand(c1);
f.addcommand(c2);
f.addcommand(c3);
display.setcurrent(f);
}
public void pauseapp()
{
}
public void destroyapp(boolean unconditional)
{
}
}
(4)项目描述文件myfirst.jad内容如下:
midlet-name: helloworld
midlet-version: 1.0.0
midlet-vendor: sun microsystems, inc.
midlet-description: sample hello world midlet
midlet-info-url: http://java.sun.com/j2me/
midlet-jar-url:the jar file url
midlet-jar-size:the jar file size
microedition-profile: midp-1.0
microedition-configuration: cldc-1.0
midlet-1: myfirstmidlt,, my.firstmidlet
在myfirst.jad文件中,有一项需特别注意,即midlet-jar-size一项,它描述项目生成的jar包装文件的大小,这一项在修改程序后再编译是要改变的。在javawebstudio中,编译时ant会调用/javawebstudio/bin目录下的setjarsize.exe文件提取项目jar文件的大小,自动填写这一项。
(5)在本项目中,混淆器采用的是 retroguard,类文件包含在retroguard.jar库中。另外,javawebstudio 还提供了retroguard混淆器的源程序,就在/javawebstudio/bin/模板/jme 应用程序项目/目录下,叫做“retroguard模板”。
(6)编译、运行
编译和运行的配置都在build.xml文件中,编译时javawebstudio将通过ant调用build.xml文件实现编译和运行。build.xml文件内容如下:
<?xml version="1.0" encoding="gb2312"?>
<project name="第一个midp程序" default="all" basedir=".">
<!-- 引入位于build.properties之中的常用属性 -->
<property file="build.properties"/>
<target name="prepare" description="准备工作">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir.classes}"/>
<mkdir dir="${build.dir.obfused}"/>
<mkdir dir="${build.dir.preverified}"/>
<mkdir dir="${build.dir.bin}"/>
</target>
<target name="cleandir" description="清除目录">
<delete dir="${build.dir}"/>
</target>
<target name="compile" description="编译源代码" depends="prepare">
<javac debug="off"
classpath="${midp.api0};${midp.api1};${midp.api2};."
bootclasspath="${midp.api}"
srcdir="${src.dir}"
destdir="${build.dir.classes}"
source="1.3"
/>
</target>
<target name="beforeobfuse" description="混淆前先打包成jar" depends="compile">
<jar basedir="${build.dir.classes}"
jarfile="${build.dir.bin.jarunobfus}"
/>
</target>
<target name="obfuscate" description="使用混淆器" depends="beforeobfuse">
<java fork="yes" classname="retroguard" classpath="${obfuscator.lib};${midp.emptyapi}">
<arg line="${build.dir.bin.jarunobfus}"/>
<arg line="${build.dir.bin.jarobfused}"/>
<arg line="${obfuscator.script}"/>
</java>
</target>
<target name="afterobfuse" description="混淆后再打包成jar" depends="obfuscate">
<unzip src="${build.dir.bin.jarobfused}"
dest="${build.dir.obfused}"
/>
<delete dir="${build.dir.obfused}/meta-inf"/>
</target>
<target name="preverify" description="预先审核" depends="afterobfuse">
<exec executable="${midp.home}/bin/preverify">
<arg line="-classpath ${midp.api};${midp.api1}"/>
<arg line="-d ${build.dir.preverified}"/>
<arg line="${build.dir.obfused}"/>
</exec>
</target>
<target name="package" description="包装成jar与jad" depends="preverify">
<jar basedir="${build.dir.preverified}"
jarfile="${build.dir.bin.jar}"
manifest="manifest.mf">
<fileset dir="${res.dir}"/>
</jar>
<copy file="${jad}" tofile="${build.dir.bin}/${jad}"/>
</target>
<target name="runpreverify" description="使用模拟器执行">
<exec executable="../../bin/setjarsize.exe">
<arg line="${build.dir.bin.jar} ${build.dir.bin}/${jad}"/>
</exec>
</target>
<target name="run" description="使用模拟器执行">
<exec executable="${midp.home}/bin/emulator">
<arg line="-xdescriptor:${build.dir.bin}/${jad}"/>
</exec>
</target>
<target name="all" description="完成所有步骤" depends="cleandir,package,runpreverify,run" />
</project>
另外,build.xml文件中还加载了属性配置文件build.properties,该文件用来设定一些常用属性,内容如下:
#此文件用来设定一些常用属性
#项目名称
name=myfirst
#jad与jar的文件名
jar=${name}.jar
jad=${name}.jad
#源文件所在路径
src.dir=src
#资源文件所在路径
res.dir=res
#建构产物放置位置
build.dir=build
#编译后类文件的放置位置
build.dir.classes=${build.dir}/classes
#未经过混淆的jar文件名
build.dir.bin.jarunobfus=${build.dir.bin}/${name}-unobfus.jar
#经过混淆的jar文件名
build.dir.bin.jarobfused=${build.dir.bin}/${name}-obfused.jar
#混淆后类的放置目录
build.dir.obfused=${build.dir}/obfused
#经过预先审核之后的类文件放置位置
build.dir.preverified=${build.dir}/preverified
#jad与jar的放置位置
build.dir.bin=${build.dir}/bin
#最终的jar文件名
build.dir.bin.jar=${build.dir.bin}/${jar}
#j2me wireless toolkit所在路径
midp.home=../../wtk/
#midp程序库所在路径
midp.api=${midp.home}/lib/midpapi20.jar
midp.api1=${midp.home}/lib/rt1.42.jar
#空白midp程序库所在路径
midp.emptyapi=${midp.home}/wtklib/emptyapi.zip
#混淆器与控制文件
obfuscator.lib=retroguard.jar
obfuscator.script=script.rgs
(7)运行结果
用鼠标点击模拟器上select按钮,选择运行当前项目firstmidlet,出现下面的firstmidlet主界面:
再点击模拟器右键,如上图红色文字提示位置。模拟器运行结果如下:

2.11 调试功能
提供了功能强大的断点设置、单步执行、单过程执行、断点执行等调试功能。可动态获取变量的值。
见《如何实现hibernate_struts 数据库应用程序》。

2.12 javawebstudio开源项目:struts_db
这也许是目前网上能见到的最简单的开源项目了。
(1)struts提供的datasource接口需要用actionservlet中定义的方法从action类访问数据源,不能从其它类中用它。
(2)由于新版本的struts 不再提供genericdatasource和genericconnection接口。
(3)struts直接操作数据库时,存在中文乱码问题。
(4)struts未提供数据的分页、数据库操作等功能。
struts_db 0.1版本源程序
包括如下内容:
(1)数据库连接池;
(2)struts plugin插件;
(3)struts 数据连接池服务器文件;
(4)struts数据库中文显示过滤器文件。
在javawebstudio 2005的模板目录下有struts_db开源项目的源程序、编译后的库及应用模板,也可到网上下载最新版本,源程序放在网络硬盘上,地址:http://vv.vdisk.cn/login.php
id:javaweb
源程序文件名:struts_db_src.rar
编译后生成库文件:struts_db.jar
使用方法1,在web.xml中以servlet加载:
<servlet>
<servlet-name>dbinit</servlet-name>
<servlet-class>javawebstudio.struts_db.dbinitservlet</servlet-class>
<init-param>
<param-name>driverclass</param-name>
<param-value>com.microsoft.jdbc.sqlserver.sqlserverdriver</param-value>
</init-param>
<init-param>
<param-name>jdbcurl</param-name>
<param-value>jdbc:microsoft:sqlserver://localhost:1433;databasename=edb</param-value>
</init-param>
<init-param>
<param-name>mincount</param-name>
<param-value>1</param-value>
</init-param>
<init-param>
<param-name>maxcount</param-name>
<param-value>10</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>user</param-name>
<param-value>sa</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>sa</param-value>
</init-param>
</servlet>
使用方法2,在struts-config.xml中以plugin加载:
<plug-in classname="javawebstudio.struts_db.databaseplugin" >
<set-property property="driverclass" value="com.microsoft.jdbc.sqlserver.sqlserverdriver"/>
<set-property property="jdbcurl" value="jdbc:microsoft:sqlserver://localhost:1433;databasename=edb"/>
<set-property property="mincount" value="1"/>
<set-property property="maxcount" value="10"/>
<set-property property="user" value="sa"/>
<set-property property="password" value="sa"/>
</plug-in >
struts_db中还包含了中文显示乱码处理的过滤器,过滤器的加载方法,在web.xml加入下列代码即可:
<filter>
<filter-name>set character encoding</filter-name>
<filter-class>javawebstudio.struts_db.setcharacterencodingfilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>set character encoding</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>
闽公网安备 35060202000074号