引自友人blog: [url]http://blog.csdn.net/senton[/url]
◆tomcat是一个专门用于web服务的服务器软件.
1.运行 :
设置完毕后就可以运行tomcat服务器了,进入tomcat的bin目录,windows下用startup启动tomcat,相应的关闭tomcat的命令为shutdown和shutdown.sh。启动后可以在浏览器中输入[url]http://localhost:8080/[/url]测试。你可以测试其自带的jsp和servlet示例。
[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应用程序:
基于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”>
启动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 –cvf WebDemo.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>                                                                                    |名字
|必须
<!—指定映射到此servlet的url-->|一致
<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没启动,大小写有误等等。

Tomcat配置和Web应用程序开发相关推荐

  1. 第一章 Web应用程序开发基础

    一.HTTP协议工作机制 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它是一种主流B/S架构中应用的通信 ...

  2. ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试

    想必大家之前在进行ASP.NET Web 应用程序开发期间都有用到过将我们的网站部署到IIS自定义主机域名并附加到进程进行调试. 那我们的ASP.NET Core Web 应用程序又是如何部署到我们的 ...

  3. 用Eclipse远程调试部署在Tomcat下的Web应用程序

    今天同事告诉了我一个用Eclipse远程调试部署在Tomcat下的Web应用程序的方法: 安装解压版本的Tomcat,因为现在好像Tomcat的Windows安装版目录下没有catalina.sh(. ...

  4. [渝粤教育] 商丘职业技术学院 Java Web应用程序开发 参考 资料

    教育 -Java Web应用程序开发-章节资料考试资料-商丘职业技术学院[] 简述B/S结构和C/S结构,各自的优缺点? web前端基础 第1单元 网上书店系统开发准备 1.[单选题]主流的动态网页技 ...

  5. 【JavaScript UI库和框架】上海道宁与Webix为您提供用于跨平台Web应用程序开发的JS框架及UI小部件

    Webix是Javascript库 一种软件产品 用于加速Web开发的 JavaScript UI库和框架 Webix用于跨平台Web应用程序开发的JS框架,为您提供102个UI小部件和功能丰富的CS ...

  6. tomcat web应用_具有可执行Tomcat的独立Web应用程序

    tomcat web应用 在部署应用程序时,简单性是最大的优势. 您将了解到,尤其是在项目发展且需要在环境中进行某些更改时. 将您的整个应用程序打包到一个独立且自足的JAR中似乎是个好主意,特别是与在 ...

  7. 具有可执行Tomcat的独立Web应用程序

    在部署应用程序时,简单性是最大的优势. 您将了解到,尤其是在项目发展且需要在环境中进行某些更改时. 将整个应用程序打包到一个独立且自足的JAR中似乎是个好主意,尤其是与在目标环境中安装和升级Tomca ...

  8. [HTML5]移动Web应用程序开发 HTML5篇 (四) 多媒体API

    介绍 本系列博客将主要介绍如今大红大紫的移动Web应用程序开发最重要的三个工具:HTML5,JavaScript, CSS3. 本篇是HTML5介绍的第三篇,主要介绍HTML5的Canvas API. ...

  9. WEB应用程序开发与部署

    WEB应用程序开发与部署 来自:http://www.atguigu.com/

最新文章

  1. python爬取图片全网通_UC头条:全网通杀——暴强工具推荐: 下载你看到的任意视频...
  2. icp点云匹配迭代最近邻算法
  3. 只能输入正整数 以及常用的正则表达式
  4. 对口高考 html语言,VB对口高考模拟试题1
  5. zigbee上位机通过vs2019的mfc实现
  6. LWIP源代码文件目录解析
  7. 聚集索引,非聚集索引的区别是什么
  8. PHP什么函数获取日期,php getdate()函数获取日期信息实例详解
  9. 导入train_test_split时,ModuleNotFoundError: No module named 'sklearn.cross_validation'
  10. DPDK分析——UIO
  11. 【代码优化】注解优先命名模式
  12. java的JDBC简单案例
  13. EasyUI,TopJUI的datagrid显示图片并点击放大浏览
  14. 机器学习——鸢尾花数据集
  15. C语言二进制与十进制之间的转换
  16. 开发者的拯救者还是掘墓人?解密低代码开发平台
  17. 局域网内打印机打印只能打印一页或是几页的解决办法
  18. java delight 咖啡是什么意思_咖啡的克立玛是什么意思?
  19. Struts2框架搭建
  20. 怎样使用PDF阅读器

热门文章

  1. Linux加密框架 crypto RC4
  2. Java命令:jstack — 获取线程dump信息
  3. 百度首席科学家 Andrew Ng谈深度学习的挑战和未来
  4. 路考变更车道该注意什么?
  5. 程序员越老越优秀吗?
  6. http协议与web本质
  7. 想要转人工智能,程序员该如何学习?(学习路线、知识体系)
  8. Shell 字符串截取
  9. 基于Flask开发企业级REST API应用(一)
  10. 表单隐藏域与display:none