在tomcat中配置web的应用程序

 

tomcat中配置web的应用程序

web的相关知识

WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。

Internet上供外界访问的Web资源分为:

静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。

动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

静态web资源开发技术

Html

常用动态web资源开发技术:

JSP/ServletASPPHP

java中,动态web资源开发技术统称为Javaweb,我们课程的重点也是教大家如何使用Java技术开发动态的web资源,即动态web页面

常见WEB服务器 apache

Tomcat,该服务器支持全部JSP以及Servlet规范,启动界面如图






WEB应用程序

WEB应用程序指供浏览器访问的程序,通常也简称为web应用。


一个web应用由多个静态web资源和动态web资源组成,如:

htmlcssjs文件

Jsp文件、java程序、支持jar包、

配置文件等等…..组成web应用的这些文件通常我们会使用一个目录组织,这个目录称之为web应用所在目录

Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射

tomcat是一个专门用于web服务的服务器软件.

    1.运行:

设置完毕后就可以运行tomcat服务器了,进入tomcatbin目录,windows下用startup启动tomcat,相应的关闭tomcat的命令为shutdownshutdown.sh。启动后可以在浏览器中输入[url]http://localhost:8080/[/url]测试。你可以测试其自带的jspservlet示例。

 

[url]http://www.it315.org/a.html[/url]

浏览器发给服务器的信息为:GET /a.html HTTP/1.1

服务器会去根目录下找a.html文件。此根目录是“TOMCAT安装目录\webapps\ROOT”

如果/代表“C:\abc”

那么就去找C:\abc\a.html文件。


虚拟目录:

[url]http://www.it315.org/xxx/a.html[/url]

如果把上面的“/xxx”映射成了“d:\”

那么就去找D:\a.html文件。

127.0.0.1:代表本地

localhost:通常情况下配置为本地,实质上不是。可以在windows\system32\drivers\etc\hosts文件改。

[url]http://www.it315.org:8080[/url]会解析[url]www.it315.org[/url],首先把[url]www.it315.org[/url]hosts里面所对应的IP地址,找不到再去 找dns


一个站点下可以有多个虚拟目录,每个虚拟目录就是一个独立的WEB应用程序。每个web应用程序都有自己的配置信息。


jar -cvf fileName.war 被打包的文件

jar -cvf fileName.war -C 被打包的文件夹被打包的文件夹中的文件


servlet是被web服务器去调用的。


HTTP请求、响应和头信息:

1.客户端发送的请求消息为文本流,由以下内容组成:

请求行

包括方法、统一资源表示符、HTTP协议版本。

头信息

典型的请求消息类似以下内容:

GET image/bar01.jpg HTTP/1.1

User-Agent:Mozilla/4.0 (compatible;MSIE 4.0 : Windows 2000)

Accept:image/gif,image/jpeg,text/*,*/*

 

第一行使用GET方法获取bar01.jpg文件,并指定正在使用的是HTTP协议1.1版本,后续行包括头信息,User-Agent头指示客户端使用的浏览器,Accept头提供有关客户端可以接受的MIME类型列表,在头信息之后,客户端发送一个空白行,指示消息请求结束,如果有表单等内容则将表单内容作为实体在空白行后面一起提交。

2.请求消息由服务器经一步处理,并生成相应的相应消息,响应消息由以下元素组成:

状态行

头信息

实体内容(即网页中要显示的内容)

以下是一个典型的响应消息示例:

        

HTTP/1.1 200 OK

Server:JavaWebServer

Last-modified:Tuesday,07-Sep-04 1:14:34 GMT

Content-length:100

Content-type:text/plain

 

<html>

………………

………………

</html>

第一行为状态行,其中的状态码200表示已成功处理请求,因此描述为“OK”404是找不到网页时常遇到的状态码,接下来一直到空白行之前都是头信息。包括服务器使用的软件,文件最后修改时间,长度及内容的类型等信息,空白行是实体内容。

 

◆     WEB应用程序:

基于javaWEB应用程序由ServletJsp、图象、HTMLJavaBeanApplet等组成。要部署一个WEB应用程序一种简便的方法就是将所有与WEB应用程序关联的文件打包成一个.war文件,与Servlet规范兼容的所有Web容器都支持.war文件。

一个WEB应用程序都有一个顶层目录,一般由以下部分组成:

1. 静态文件:包括HTML文件和图象等。

2. JSP页面文件

3. WEB-INF文件夹:注意,该目录不能被引用。由以下部分组成:

classes目录:Servlet类、JavaBean类和其他所有类文件。

lib目录:包含WEB应用程序所需的所有.jar文件。例如数据库连接包等。

tags目录:包含自定义标记提供实现的tag文件

web.xmlWeb应用的部署描述符文件。该文件包含有关WEB应用程序(如要显示的默认页、要加载的Servlet等)的元数据信息


设置WEB站点的虚拟子目录:

1.将本地计算机上C:\WebDemo目录映射成为web站点的/demo虚拟子目录可以如下配置:打开Tomcat安装目录/conf/server.xml文件,在<host>元素中间加上一行:

<Context path=”/demo” decBase=”C:\WebDemo” debug=”0”>

启动Tomcat,在IE地址栏中输入[url]http://127.0.0.1:8080/demo[/url]就能看到C:\WebDemo下面的所有文件了。例如此目录下有demo.html文件,单击它就能看到demo.html中的内容了。

2.也可以使用jar命令将C:\WebDemo目录打包成C:\WebDemo.jar文件。步骤如下:

1)启动命令行窗口,进入C:\WebDemo目录

2)执行如下命令:jar –cvfWebDemo.war .

注意后面的点,它代表当前目录,上面的命令将C:\WebDemo中所有内容压缩成WebDemo.war文件,但不包含C:\WebDemo目录本身。

3)将WebDemo.war移到Tomcat安装目录/webapps目录下,重启Tomcat,在IE地址栏中输入[url]http://127.0.0.1:8080/WebDemo[/url]就能看到C:\WebDemo下面的所有文件了。例如此目录下有demo.html文件,单击它就能看到demo.html中的内容了。

注意:此步骤在执行jar命令时如果此目录的WEB-INF文件夹中没有web.xml文件,Tomcat将使用默认的web.xml文件内容,如果有则以此web.xml文件为准,所以此web.xml文件必须书写正确(包括语法和配置)。

3. 也可以直接把C:\WebDemo拷到Tomcat安装目录/webapps目录下,但是必须有一个WEB-INF目录,如果WEB-INF目录下有web.xml文件,此web.xml文件必须书写正确(包括语法和配置)。

◆     下面是一个简单的servlet文件编写、编译、注册和运行的过程:

1.首先新建一个WebRoot目录,此目录下文件结构如下:

WebRoot

|—WEB-INF文件夹

|—classes文件夹

|HelloServlet.class文件 

|web.xml文件

              2.编写一个servlet文件,示例代码如下:

              //导入一些要用到的类

              import java.io.IOException;

import java.io.PrintWriter;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

             

              //继承HttpServlet

public class HelloServlet extends HttpServlet {

 

                     private static final long serialVersionUID = 1L;

 

                     //重写父类中的service方法

                     @Override

                     protected void service(HttpServletRequest request,

                            HttpServletResponse response) throws ServletException, IOException {

//HttpServletResponse中获得一个输出流

                            PrintWriter out = response.getWriter();

                            out.println("<html>");

                            out.println("<body>Hello World</body>");

                            out.println("</html>");

                            out.close();

                     }

}

3.编译(必须要把 Tomcat安装目录/common/lib/servlet-api.jar设置到classpath),没错误后把HellpServlet.class放到上面的classes目录下。

4.写web.xml文件,示例代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

       [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]">

 

<!—注册servlet-->

<servlet>

<servlet-name>AnyName</servlet-name>―――――――――|

<servlet-class> HelloServlet</servlet-class>

</servlet>|名字

|必须

<!—指定映射到此servleturl-->一致

<servlet-mapping>

<servlet-name>AnyName</servlet-name>――――――――― |

<url-pattern>/demo/test.html</url-pattern>

</servlet-mapping>

 

</web-app>

5.运行,启动Tomcat,在IE栏中输入[url]http://127.0.0.1:8080/demo/test.html[/url]回车,

网页中显示出了HelloWorld,如果有错可能由于一下原因:Tomcat没启动,大小写有误等等。






阅读更多
上一篇XML解析:
下一篇HttpWatch的使用介绍
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭