Tomcat Java Web学习

学习资料
-------------

《Tomcat与Java Web开发技术详解》

用 Tomcat 和 Eclipse 开发 Web 应用程序 
(2007 年 5 月 25 日) 若将 Eclipse 与 Apache Tomcat 直接集成,那么将其用作 Web 开发平台就会更为容易。通过本文,了解如何设置 Eclipse 和 Apache Tomcat V5.5 来开发经典的 Hello World servlet。

下载安装Tomcat
-----------------------
到http://tomcat.apache.org/下载tomcat5.5.26,解压到指定目录,如果先前没有定义环境变量JAVA_HOME,则先要创建,指向JDK安装根目录(如:c:/JDK)。运行bin里面的startup,就可以启动tomcat服务器,运行http://localhost:8080/可看到结果。

Tomcat组件之间的关系
----------------------------------

<Server> <!-- 可包含一个或多个Service -->
 <Service> <!-- 可包含一个或多个Connector,只含一个Engine -->
  <Connector/>
  <Engine> <!-- 可包含一个或多个Host -->
   <Host> <!-- 可包含一个或多个Context -->
    <Context> <!-- 代表单个Web应用 -->
    </Context>
   </Host>
  </Engine>
 </Service>
</Server>

Tomcat的目录结构
--------------------------
/bin  启动和关闭Tomcat的脚本文件
/conf  存放Tomcat服务器的各种配置文件,最重要的是server.xml
/server
/server/lib  存放Tomcat服务器所需要的各种JAR文件
/server/webapps  存放Tomcat自带的两个web应用:admin和马nager
/common/lib  存放Tomcat服务器和所有web应用都能访问的JAR文件
/shared/lib  存放所有web应用都能访问的JAR文件
/logs  存放Tomcat的日志文件
/webapps  发布web应用
/work  JSP生成的Servlet

Web 应用的目录结构
-----------------------------
/helloapp  Web应用的根目录,所有JSP和HTML文件都放在此目录下
/helloapp/WEB-INF  存放Web应用的发布描述文件web.xml
/helloapp/WEB-INF/classes  存放各种class文件,Servlet类文件也放在此目录下
/helloapp/WEB-INF/lib  存放Web应用所需要的JAR文件

Tomcat的类装载器先装载classes目录下的类,然后是lib目录下的类。


创建最简单web应用
---------------------------
1. 在webapps目录下创建一个新目录hellapp,在helloapp中再创建一个目录WEB-INF。在helloapp下创建一个index.html,内容可以很简单为"hello world"。在WEB-INF中创建一个web.xml,内容不能为空,至少为:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
</web-app>

2. 在conf/server.xml中找到<host>在里面加入内容:

<Context path="/hello" docBase="helloapp" debug="0" reloadable="true" />
<!-- path指定web应用的URL入口;docBase指定web应用的文件路径 -->
<!-- /hello或者/helloapp都能工作 -->

 启动Tomcat,敲入http://localhost:8080/helloapp则可以显示index.html中的内容了。 

扩展Web应用(Servlet)
-----------------------------------
1. 创建HelloServlet.java

package com.example.servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

 public class HelloServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
  
 public HelloServlet() {
  super();
 }    
 
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  response.getWriter().write("Hello World");
 }   
 
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 }          
}
编译后,将HelloServlet.class放置到/WEB-INF/classes/com/example/servlets(这里要注意package)中。如果HelloServlet.java是用javac来编译的话,需要设置classpath=%CATALINA_HOME%/common/lib/servlet-api.jar,才能正常编译。

2. 修改web.xml,加入HelloServlet的配置。

<servlet>
 <description></description>
 <display-name>HelloServlet</display-name>
 <servlet-name>HelloServlet</servlet-name>
 <servlet-class>com.example.servlets.HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
 <servlet-name>HelloServlet</servlet-name>
 <url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>

3. 运行http://localhost:8080/HelloServlet

你可能感兴趣的:(Tomcat Java Web学习)