博文
tomcat下如何配置jsp、servlet和bean的问题[转](2005-12-02 08:01:00)
摘要:文章提交: 孤独
经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
第一步:下载j2sdk和tomcat:到sun官方站点(http://java.sun.com/j2se/1.4.2/download.html)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.4.2 Documentation,然后到tomcat官方站点(http://www.apache.org/dist/jakarta/tomcat-4/)下载tomcat(下载最新4.1.x版本的tomcat);
第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.4.2):
JAVA_HOME=c:\j2sdk1.4.2
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
path=%JAVA_HOME%\bin
接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
public class Test{
public static void main(String args[]){
System.out.println("This is a test program.");
}
}
将上面的这段程序保存为文件名为Test.java的文件。
然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
javac Test.java
java Test
此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。......
jar打包发布[转](2005-12-02 08:00:00)
摘要:打包发布。
JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件.准确的说,它就是 ZIP 文件,所以叫它文件包。
JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。MANIFEST 是 JAR 文件包的特征
那我们的输入(要压缩的东西)主要是class文件,还有辅助的资源(这其中可能有图片,jsp文件,html文件等等)。Jar技术在jdk1.1版本中就已存在,在1.2中又有了增强。接下来说说jar的好处吧,这是官方的描述:安全,快速下载,压缩,猎取包,版本化包,可携。
先打开命令提示符输入jar –help,然后回车,看到什么:
==================================
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用ZIP压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:......
exe的生成(2005-12-02 07:59:00)
摘要:在运用jbuilder进行java开发时很多人都会想怎么用它生成一个可执行的.exe文件?
下面来说说基本的步骤!希望给大家一些帮助!
1.制作jar
菜单wizards->archive builder
archive type:选择application
按提示操作下一步,默认即可
2.project->make...
3.生成exe
菜单wizards->archive builder
archive type:选择executable jar
下一步选择刚才make生成的jar文件
按操作提示进行即可
4.project->make
......
equals 和 ==(2005-12-02 07:59:00)
摘要:1。基本类型,对象引用都在栈中; 而对象本身在堆中
2。"=="比的是两个变量在栈内存中的值,而即使变量引用的是两个对象,“==”比的依旧是变量所拥有的“栈内存地址值”。
3。equals()是每个对象与生俱来的方法,因为所有类的最终基类就是Object(除去Object本身);而equals()是Object的方法之一。
也就是说equals()方法来自Object类
观察一下Object中equals()的source code:
public boolean equals(Object obj) {
return (this == obj);
}
注意 “return (this == obj)”
this与obj都是对象引用,而不是对象本身。所以equals()的缺省实现就是比较
对象引用是否一致
所以要比较两个对象本身是否一致,须自己编写代码覆盖Object类里的equals()的方法.
来看一下String类的equals方法代码:
public boolean equals(Object anObject) {
if (this == anObject) {
&nbs......
classpath祥解[转](2005-12-02 07:58:00)
摘要:设置类路径
结构
可通过对 JDK 工具使用 -classpath 选项(首选方法)或设置 CLASSPATH 环境变量来设置类路径。
C:> jdkTool -classpath path1;path2...
C:> set CLASSPATH=path1;path2...
每个 path 以文件名或目录结尾,该文件名或目录取决于将类路径设置成什么:
对于包含 .class 文件的 .zip 或 .jar 文件,路径以 .zip 或 .jar 文件名结尾。
对于未命名包中的 .class 文件,路径以包含 .class 文件的目录结尾。
对于已命名包中的 .class 文件,路径以包含“root”包(完整包名中的第一个包)的目录结尾。
用分号来分隔多个项目。使用 set 命令时,需要省略等号两边的空格(=)。其中 jdkTool 可以为 java、javac、javadoc,等等。有关详细列表,参见 JDK 开发工具。
说明
类路径告诉 Java 应用程序去哪里查找第三方和自定义类 -- 即不是 Java 扩展或 Java 平台一部分的类。在 JDK 1.2 中,JVM 和其他 JDK 工具通过依次搜索平台库、库扩展和类路径来查找类(有关搜索策略的详细信息,参见如何查找类)。
多数应用程序的类库都会充分利用扩展机制。因此,只有想要加载某个类库 (a) 未位于当前目录或其分枝包中 且 (b) 未位于扩展机制所指定的位置时,才需设置类路径。
如果用户是从旧版本 JDK 升级而来,则启动设置可能包括不再需要的 CLASSPATH 设置。这时应该删除任何非应用程序特定的设置。有些使用 Java 虚拟机的第三方应用程序可能修改 CLASSPATH 环境变量以包括它们使用的类库。这种设置可以保留。
可通过在调用 JVM 或其他 JDK 工具时使用 Java 工具的 -classpath 选项改变类路径(例如: java -classpath ...)。这是改变类路径的首选方法。还可通过使用 C......
JSP 自定义标签[转](2005-12-02 07:57:00)
摘要:From Gossip@caterpillar
JSP/Servlet: TagSupport 类别
如果在自订标签库时,并不需要对标签本体作处理,则您可以继承TagSupport类别,TagSupport类别实作了Tag与 IterationTag接口,IterationTag接口则是Tag接口的子接口,TagSupport类别替您预先实作了这两个界面中的方法,在继承TagSupport之后,您视需要来改写当中的一些方法(这是 Default Adapter模式)。
Tag接口中与卷标处相关的方法主要有:doStartTag()、doEndTag()。其中doStartTag()方法是遇到标签开始时会呼叫的方法,其合法的回传值是EVAL_BODY_INCLUDE与SKIP_BODY,前者表示将显示卷标间的本体文字,后者表示不显示卷标间的本体文字;doEndTag()方法是在遇到标签结束时呼叫的方法,其合法的回传值是EVAL_PAGE与SKIP_PAGE,传回前者表示处理完标签后继承执行以下JSP网页,传回后者则表示不处理接下来的JSP网页。
IterationTag接口继承Tag接口,在卷标处理上增加了doAfterBody(),这个方法是在显示完卷标间文字本体之后呼叫的,其合法的回传值有EVAL_BODY_AGAIN与SKIP_BODY,如果传回前者,则会再显示一次卷标间的文字本体,传回后者则继承执行标签处理的下一步。
TagSupport类别实作了Tag与IterationTag接口,其预设的回传值是:doStartTag()回传 SKIP_BODY、doAfterBodyTag()回传SKIP_BODY、doEndTag()回传EVAL_PAGE。所以在继承 TagSupport之后,如果没有改写任何的方法,则在卷标处理上执行的顺序是:
doStartTag() -> 不显示本体文字 -> doEndTag() -> 执行接下来的JSP网页
如果您改写了doStartTag(),则您必须指定回传值,如果指定了EVAL_BODY_INCLUDE,则预设会照以下的顺序执行:
doStartTag() -> 显示本体文字 -> doAfterBodyTag()->doEndTag()->执行......
我个人的 JDK+Tomcat+Oracle环境配置(2005-12-02 07:56:00)
摘要:JDK+Tomcat+Oracle环境配置
JDK配置:
%CATALINA_HOME%----------------C:\Tomcat 4.1
%CATALINA_BASE%----------------C:\Tomcat 4.1(跟上一样)
这两个不能少 因为TOMCAT启动的时候需要读取这两个值
将CATALINA_HOME\lib\servlet.jar复制到JAVA_HOME\JRE\LIB\EXT中
------------------------------------------------------------
Tomcat配置:
%CATALINA_HOME%----------------C:\Tomcat 4.1
%CATALINA_BASE%----------------C:\Tomcat 4.1(跟上一样)
这两个不能少 因为TOMCAT启动的时候需要读取这两个值
将CATALINA_HOME\lib\servlet.jar复制到JAVA_HOME\JRE\LIB\EXT中
---------------------------------------------------------------
Oracle配置:
将Oracle中的文件D:\oracle\ora90\jdbc\lib\classes12.jar复制到JDK目录 C:\jdk1.5.0_02\jre\lib\ext里就OK了......
UltraEdit配置个人JAVA IDE[转](2005-12-02 07:55:00)
摘要:有许多初学者在问用什么开发工具,一般用jdk+notepad就ok了,但是有时比较麻烦
而用jbuilder等大型IDE又不利于学习,而且速度很慢,所以我就用utraEdit自己写了一个IDE
感觉很好用特告诉大家。
效果图如下:
注:
1、以下以ultraEdit9为例,其他版本和editPlus类似
2、假设你的java环境已经安装好,并且没有问题
一、配置命令菜单
1、打开 高级->工具配置
2、我们先定义编译java的工具:
3、在“命令栏”里输入 javac %n%e (%n为文件名不带扩展名,%e为扩展名)
4、在“工作目录”上填 %p (表示文件所在目录)
5、在“菜单项目名称”上输入 编译java程序 (现在在菜单上的名称)
6、选择“保存当前文件”复选框,表示执行之前保存;
7、选择“输入到列表方块”单选框,表示讲命令的结果输出到列表方块上
8、选择“扑捉输出”复选框,表示讲执行的结果扑捉,输出到下面的输出框里
9、打开高级选项,可以设置菜单的图标(可以选一个个性的图标,然后讲菜单拖到工具栏里)
10、点击“插入”按钮,确定,一个编译的菜单就做好了
见下图:
同样的方法可以做执行java的菜单:
3、在“命令栏”里输入 java %n (%n为文件名不带扩展名,%e为扩展名)
4、在“工作目录”上填 %p (表示文件所在目录)
5、在“菜单项目名称”上输入 执行java程序 (现在在菜单上的名称)
现在你打开高级菜单,发现最下面多了二个你刚才定义的菜单;
然后你可以点击工具栏的右键,选择自定义,就可以把刚才你定义的菜单命令拖到工具栏
这样你就有了自己的菜单了
见下图:
根据上面的方法,你还可以定义其他工具比如定义一个把编译和执行合在一起的菜单
做一个批处理的文件run.bat,放在C:盘,内容如下
javac %1.java
java %1
然后按照上面的方法:
3、在“命令栏”里输入 C:Run.bat %n (%n为文件名不带扩展名,%e为扩展名)
4、在“工作目录”上填 %p (表......
SwingSpeciality用法(2005-09-22 17:22:00)
摘要:/*
此程序演示Swing的特性
JComponent类的特殊功能又分为:
1) 边框设置:使用setBorder()方法可以设置组件外围的边框,使用一个EmptyBorder对象能在组件周围留出空白。
2) 双缓冲区:使用双缓冲技术能改进频繁变化的组件的显示效果。与AWT组件不同,JComponent组件默认双缓冲区,不必自己重写代码。如果想关闭双缓冲区,可以在组件上施加setDoubleBuffered(false)方法。
3) 提示信息:使用setTooltipText()方法,为组件设置对用户有帮助的提示信息。
4) 键盘导航:使用registerKeyboardAction( ) 方法,能使用户用键盘代替鼠标来驱动组件。JComponent类的子类AbstractButton还提供了便利的方法--用setMnemonic( )方法指明一个字符,通过这个字符和一个当前L&F的特殊修饰共同激活按钮动作。
5) 可插入L&F:每个Jcomponent对象有一个相应的ComponentUI对象,为它完成所有的绘画、事件处理、决定尺寸大小等工作。 ComponentUI对象依赖当前使用的L&F,用UIManager.setLookAndFeel( )方法可以设置需要的L&F.
6) 支持布局:通过设置组件最大、最小、推荐尺寸的方法和设置X、Y对齐参数值的方法能指定布局管理器的约束条件,为布局提供支持。
另外还有菜单的使用方法
*/
import java.awt.*;
import java.io.File;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.MenuKeyEvent;
import javax.swing.event.MenuKeyListener;
public class SwingSpecialityDemo
{
public static void main(String args[])
{
try{UIManager.setLo......
PrintStream用法(2005-09-22 17:21:00)
摘要:import java.io.*;
public class PrintStreamDemo
{
public static void main(String[] args)throws IOException
{
try
{
FileInputStream fis = new FileInputStream (FileDescriptor.in);//指定输入流为键盘
PrintStream ps = new PrintStream (new FileOutputStream ("D://testfile//file.log"), true);
int is;
while ((is=fis.read()) != -1)ps.println((char)is);
fis.close();
ps.close();
}
catch(FileNotFoundException e)
{
System.out.println(e);
}
catch(IOException e)
{
System.out.println(e);
}
catch(Exception e)
{
System.out.println(e);
}
}
}
......