JAVA+TOMCAT网站部署第一天
安装APACHE Tomcat 5.0,默认有Tomcat的服务程序运行,在ROOT目录加入Jsp文件,似乎无法运行。采用命令窗口方式运行。运行"E:\program files\Apache Software Foundation\Tomcat 5.0\bin\startup.bat",
环境变量配置:
Tomcat的根目录CATALINA_HOME:
E:\program files\Apache Software Foundation\Tomcat 5.0
JAVA的类路径[第一个点”.;”表示当前路径] CLASSPATH:
.;M:\Java\Demos;C:\j2sdk1.4.2_04;C:\j2sdk1.4.2_04\lib\tools.jar;C:\j2sdk1.4.2_04\lib\dt.jar;C:\j2sdk1.4.2_04\lib\tools.jar;C:\j2sdk1.4.2_04\lib\htmlconverter.jar;
C:\j2sdk1.4.2_04\lib\servlet.jar;M:\Java
JAVA根目录JAVA_HOME:
C:\j2sdk1.4.2_04
在PATH环境变量中加入C:\j2sdk1.4.2_04\bin;这样直接运行javac.exe,java.exe就能找到JAVA对应的可执行文件了。
对winXP,系统环境变量不需要重新启动系统就能起作用,但是需要重新打开应用程序,用户变量需要重新启动系统才能生效。
Edit Plus中Java环境配置:
原来曾用过JCreator进行Java代码编写,而且是J2ME摩托罗拉手机程序编写的配置,复杂得多,可以参考:
写手机程序请用JCreator pro sunyuzhe114 [原作]
http://dev.csdn.net/Develop/article/13/13625.shtm
这里Edit Plus主要是在Tools/Configure User Tools …里面添加命令。这里简单的配置如下:
Group Name … :Java Tools
功能:编译Java文件,生成class到Java文件所在目录
Menu Text: Java Compile
Command: C:\j2sdk1.4.2_04\bin\javac.exe
Argument: $(FileName)
Initial Directory: $(FileDir)
功能:运行生成的class文件
Menu Text: Java Run
Command: C:\j2sdk1.4.2_04\bin\java.exe
Argument: $(FileNameNoExt)
Initial Directory: $(FileDir)
功能:[打开class文件]用JAD直接进行反编译,生成Java文件到class文件所在目录
Menu Text: JAD Decompile
Command: M:\Java\Tools\jad_win\jad.exe
Argument: -o -d .\ -s java $(FileNameNoExt).class
Initial Directory: $(FileDir)
功能:用Edit Plus打开反编译生成的java文件
Menu Text: Open Decompile File
Command: E:\program files\EditPlus 2\editplus.exe
Argument: $(FileNameNoExt).java
Initial Directory: $(FileDir)
加入自定义工具以后,直接用Ctrl+1[~N]运行自定义工具。
/* 以下所说[根目录]为
* E:\program files\Apache Software Foundation\Tomcat 5.0\webapps\ROOT
*/
Java Bean 部署过程:
1. [根目录]/ WEB-INF\classes\test\下面新建FAQ.txt,改名为FAQ.java
2. FAQ.java输入内容:
package test;
public class FAQ{
public FAQ () {
System.out.println(“FAQ Construction Method”);
}
public sayHello(){
System.out.println(“FAQ : Hello World!”);
}
}
3. 编译以上内容,在[根目录]/ WEB-INF\classes\test\生成*.class文件。
4. [根目录]/test/下面新建faq.txt,改名为faq.jsp
5. faq.jsp输入内容:
<%
workM.sayHello();
%>
6. 现象:sayHello将在Tomcat的命令行窗口输出” FAQ : Hello World!”;在JSP文件中使用System.out.println同样输出到命令行窗口,out.println则直接输出到浏览器。
7. Java Bean的使用方法二:在JSP中加入引用
<%@ page import="test.*"%>
调用的时候,
faq myfaq = new faq();
myfaq.sayHello();
这种方法的好处是,每个JSP中可以多次定义对象。
Servlet 部署过程:
1. 在[根目录]/ WEB-INF/classes/test/下面新建FaqServlet.txt,改名为FaqServlet.java
2. FaqServlet.java输入内容:
package test;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
public class FaqServlet extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException{
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
out.println("
Hello World!
");
}
}
Servlet 是一个从HttpServlet派生的所有对象的统称。主要处理doGet,doPost两个方法,doGet就是一般情况,浏览器从服务器取网页,doPost就是浏览器通过Post的方法从服务器取数据,比如网页中form的method=”post”提交到服务器。
3. [根目录]/ WEB-INF/web.xml的节点下面添加内容:
FaqServletL
test.FaqServlet
根据url-pattern来获取servlet-name,再根据servlet-name来获取servlet-class">
FaqServletL
/servlet/FaqServlet
主要含义应该是:当URL中是http://[ROOT]/servlet/FaqServlet的时候使用的servlet的名称是FaqServletL,服务器根据FaqServlet找到名称为FaqServletL的Servlet,并通过servlet-class test.FaqServlet来定位Servlet的位置。
4. 现象:浏览地址http://127.0.0.1:8080/servlet/FaqServlet,浏览器打开一个页面,效果和xml一样,因为上面response.setContentType("text/xml");如果需要用text/html,则是html页面了,不过需要补全html代码了。
5. 似乎Servlet可以不用部署就可以用的,暂时还不知道,具体以后学习。
Taglib 部署过程:
1. [根目录]/ WEB-INF/classes/test/hello/下面新建HelloTag.java
2. HelloTag.java输入内容:
package test.hello;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;
public class HelloTag extends TagSupport {
public HelloTag() {
}
public int doEndTag() throws JspException{
try{
pageContext.getOut().print("Hello World!");
}catch(Exception ex){
ex.printStackTrace();
}
return SKIP_BODY;
}
public void release(){
super.release();
}
}
TagLib应该就是都该从TagSupport派生出来的了。
3. [根目录]/ WEB-INF/目录下面新建mytaglib.tld
4. mytaglib.tld输入内容:
1.0
1.1
mytablib
/mytaglib
hello
test.hello.HelloTag
empty
Just Says Hello
里面觉得主要的两个内容是将在jsp中引用的时候用到,tag/tagclass是TagLib对应class的引用,和上面Java的package对应。
5. [根目录]/ test/下面新建helloTag.jsp,并输入内容:
<%@ taglib uri="/mytaglib" prefix="mm" %>
这样就行了。通过mm来调用taglib里面的类,函数。看起来似乎Java Bean也可以实现同样的功能,而且似乎Java Bean更加灵活,初学,需要以后进一步认识。
6. 现象:浏览地址http://[ROOT]/test/helloTag.jsp,页面显示:”Hello World!”
7. tld中似乎有直接对TagLib类中的static函数进行部署的方法,暂时没有尝试出来。这种方法在Java Bean中应该没有可替代的方法吧!
小结:
1. JAVA中的网站建设可以这么多层次,明显增加了灵活性,可使用JAVA所有类库的,这样做出来的网站,无疑功能可以是非常强大的。
2. 使用JAD等反编译工具,可以将Java 的目标文件class反编译出来,这样要学习别人的成果,变得非常容易,但是也同样自己的代码也不安全了。
3. JAVA在不同系统中的支持,增加了程序的可复用性,实现同样功能,用不同的类库,语言写几次实在不爽。
4. JAVA包括派生出来的工具环境的配置纷繁复杂,还真是麻烦。J Builder挺好用,为了更透彻了解JAVA,了解一下不同的部署步骤还是必要的。
转:http://blog.csdn.net/hahu/archive/2004/07/18/44545.aspx
posted on 2008-09-18 22:18
poower 阅读(1368)
评论(0) 编辑 收藏 所属分类:
j2ee学习笔记