文档章节

Tomcat配置和Web应用程序开发

 杨勇汉
发布于 2015/02/01 14:04
字数 1736
阅读 23
收藏 0

tomcat是一个专门用于web服务的服务器软件.
    1.运行 :
设置完毕后就可以运行 tomcat服务器了,进入tomcat的bin目录,windows下用startup启动tomcat,相应的关闭tomcat的命令为shutdown和shutdown.sh。启动后可以在浏览器中输入http://localhost:8080/测试。你可以测试其自带的jsp和servlet示例。
 
    http://www.it315.org/a.html
    浏览器发给服务器的信息为: GET /a.html HTTP/1.1
    服务器会去根目录下找 a.html文件。此根目录是“TOMCAT安装目录/webapps/ROOT”。
    如果 /代表“C:/abc”
    那么就去找 C:/abc/a.html文件。
 
    虚拟目录:
    http://www.it315.org/xxx/a.html
    如果把上面的“ /xxx”映射成了“d:/”
    那么就去找 D:/a.html文件。
 
    127.0.0.1:代表本地
    localhost:通常情况下配置为本地,实质上不是。可以在 windows/system32/drivers/etc/hosts文件改。
    http://www.it315.org:8080会解析 www.it315.org,首先把www.it315.org在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应用程序:
基于 java的WEB应用程序由Servlet、Jsp、图象、HTML、JavaBean、Applet等组成。要部署一个WEB应用程序一种简便的方法就是将所有与WEB应用程序关联的文件打包成一个.war文件,与Servlet规范兼容的所有Web容器都支持.war文件。
一个 WEB应用程序都有一个顶层目录,一般由以下部分组成:
1. 静态文件:包括 HTML文件和图象等。
2. JSP页面文件
3. WEB-INF文件夹:注意,该目录不能被引用。由以下部分组成:
    classes目录:Servlet类、JavaBean类和其他所有类文件。
    lib目录:包含WEB应用程序所需的所有.jar文件。例如数据库连接包等。
    tags目录:包含自定义标记提供实现的tag文件
    web.xml:Web应用的部署描述符文件。该文件包含有关WEB应用程序(如要显示的默认页、要加载的Servlet等)的元数据信息
 
    设置WEB站点的虚拟子目录:
1. 将本地计算机上C:/WebDemo目录映射成为web站点的/demo虚拟子目录可以如下配置:打开Tomcat安装目录/conf/server.xml文件,在<host>元素中间加上一行:
<Context path=”/demo” decBase=”C:/WebDemo” debug=”0”>
2. 也可以使用jar命令将C:/WebDemo目录打包成C:/WebDemo.jar文件。步骤如下:
1) 启动命令行窗口,进入C:/WebDemo目录
2) 执行如下命令:jar –cvf WebDemo.war .
注意后面的点,它代表当前目录,上面的命令将C:/WebDemo中所有内容压缩成WebDemo.war文件,但不包含C:/WebDemo目录本身。
注意:此步骤在执行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
 
<!—注册servlet-->
       <servlet>
              <servlet-name>AnyName</servlet-name>―――――――――|
              <servlet-class> HelloServlet</servlet-class>                             |            
       </servlet>                                                                                    |名字
                                                                                                         |必须
<!—指定映射到此servlet的url-->                                                       |一致
       <servlet-mapping>                                                                        |
              <servlet-name>AnyName</servlet-name>――――――――― |
              <url-pattern>/demo/test.html</url-pattern>
       </servlet-mapping>
 
</web-app>
5.运行,启动Tomcat,在IE栏中输入 http://127.0.0.1:8080/demo/test.html回车,
网页中显示出了HelloWorld,如果有错可能由于一下原因:Tomcat没启动,大小写有误等等。
本文引用:http://blog.csdn.net/senton/article/details/1321539

本文转载自:http://blog.csdn.net/rhljiayou/article/details/6867915

粉丝 2
博文 69
码字总数 0
作品 0
东城
私信 提问
(JavaEE-02)Web服务器---Tomcat

Web开发 从今天开始,我们学习JavaWeb开发,那么什么是JavaWeb开发,就目前来看,JavaWeb涵盖的内容和所涉及的领域已经非常广阔了,简单来说,Web技术基本都是用来开发网站的,但是网站与网站...

_-Leon-_
2014/06/13
312
3
一、JavaWeb总结:JavaWeb开发相关概念与常见web服务器

一、基本概念 1.1、WEB开发的相关知识   WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。   Internet上供外界访问的Web资源分为: 静态web资源(如html ...

AAASSSSddd
2016/08/17
41
0
01-《Apache Tomcat 9》之文件索引

《Apache Tomcat 9》是《看Apache官方文档学英语》的第一个专栏!让我们一起在看文档的过程中学英语,在学英语的过程中夯实技术! Documentation Index - 文件索引 1.Introduction - 介绍 Th...

飞鱼说编程
2018/10/16
36
0
深入分析JavaWeb Item1 -- JavaWeb开发入门

一、基本概念 1.1、WEB开发的相关知识   WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。   Internet上供外界访问的Web资源分为: 静态web资源(如html ...

小平果
2017/11/29
0
0
JVM之tomcat-安装配置

JAVA包含4个独立且相关的技术: JAVA程序设计语言(由sun公司的一个团队开发) JAVA API(一类是由sun公司定义的规范( 只维持了很少一段时间),一类是由JAVA的规范开放组织定义的规范(受欢...

yacai1990
2016/07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
4
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
8
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
868
10
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部