JAVA+TOMCAT 网站部署第一天

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.exejava.exe就能找到JAVA对应的可执行文件了。

winXP,系统环境变量不需要重新启动系统就能起作用,但是需要重新打开应用程序,用户变量需要重新启动系统才能生效。

 

Edit PlusJava环境配置:

原来曾用过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文件,生成classJava文件所在目录

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派生的所有对象的统称。主要处理doGetdoPost两个方法,doGet就是一般情况,浏览器从服务器取网页,doPost就是浏览器通过Post的方法从服务器取数据,比如网页中formmethod=”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找到名称为FaqServletLServlet,并通过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/tagclassTagLib对应class的引用,和上面Javapackage对应。

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,了解一下不同的部署步骤还是必要的。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值