Java web应用由一组servlet、HTML页,类,以及它可以被绑定的资源构成,它可以在各种供应商提供的实现servlet规范容器中运行
javaweb包括这些:Servlet jsp 实用类 静态文档 web常用描述信息

servlet容器为Javaweb提供运行时环境 负责管理servlet和jsp的生命周期 管理他们的共享数据
servlet容器也称为Javaweb应用容器 或者servlet/jsp容器
目前流行的servlet容器由:Tomcat Resin Weblogic

Tomcat是一个免费的开源的servlet容器 由apache和sun共同开发

1.部署并启动tomcat服务器
1).解压apache-tomcat-7.0.52.zip到一个非中文目录下
2).配置一个环境变量。javahome(指向JDK安装的根目录)或jre_home
3).通过双击apache-tomcat-7.0.52\bin 目录下的startup.bat 启动服务器
4).可以在浏览器中输入localhost:8080来检验Tomcat安装是否正确
5).若已经启动了一个 Tomcat 应用, 若再启动同一个 Tomcat 应用, 会抛出异常:
java.net.BindException: Address already in use: JVM_Bind:8080
因为端口已经被占用了.

2.Tomcat:开源的servlet容器。

3.可以通过修改server.xml文件中的配置信息来修改Tomcat服务器的端口号:

<Connector port="8989" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改port里的8080改成8989 改为其他端口号即可

4.为了可以在任意目录下启动Tomcat服务器
4.1把 D:\apache-tomcat-7.0.52\bin 添加到 path 下

添加成功后, 若在任意目录下通过 startup 启动 Tomcat 服务器, 会有提示:

The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program

5.设置CATALINA_HOME 这个环境变量
5.1通过阅读 startup.bat 批处理文件, 可知 CATALINA_HOME 环境变量下有一个 bin 目录,
而 bin 目录又有一个 catalina.bat 文件, 由此可知 CATALINA_HOME 指向的应该是 Tomcat
安装的根目录
于是把 Tomcat 的根目录设为 CATALINA_HOME 环境变量.

此时既可以在任意目录下通过startup.bat、shutdown.bat启动、关闭Tomcat服务器

6.继续阅读startup.bat文件,发现启动tomcat服务器是Catalina.bat文件

在命令行窗口直接输入Catalina,提示如下

commands:
debug Start Catalina in a debugger
debug -security Debug Catalina with a security manager
jpda start Start Catalina under JPDA debugger
run Start Catalina in the current window
run -security Start in the current window with security manager
start Start Catalina in a separate window
start -security Start in a separate window with security manager
stop Stop Catalina
version What version of tomcat are you running?

Catalina 命令有如上的可选参数

run:在Catalina同一行命令窗口下启动服务器
start:开启一个新窗口启动服务器
stop:关闭服务器

最新文章

  1. Java多线程18:线程池
  2. 使用即时文件初始化提高SQL Server性能
  3. I.MX6 Ethernet UI patch failed
  4. ARM入门实践(一)----Mini6410上最简单的LED点灯裸机程序
  5. 解决sdk manager无法更新的问题
  6. JavaScript语法基础(1)
  7. userdel 命令详解
  8. oracle ebs应用产品安全性-定义访问权限集
  9. [Swift]LeetCode915.将分区数组分成不相交的间隔 | Partition Array into Disjoint Intervals
  10. 记一次mariadb升级故障
  11. linux安装postgresql
  12. SQLSERVER性能调优小技巧
  13. 特殊篮子问题——C语言暴力破解
  14. 使用swift和rails来实现ios账号系统
  15. VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)
  16. c++ 动态数组,指针与动态内存分配
  17. TryUpdateModel方法 模型绑定
  18. csharp: Gets a files formatted size.
  19. 【剑指offer】面试题 57. 和为 S 的数字
  20. 删除文件夹里的 .svn,

热门文章

  1. 关于无法下载sklearn中的MNIST original数据集的问题
  2. 使用css3的Flex布局实现列表展示
  3. 51nod 1276:岛屿的数量 很好玩的题目
  4. JPA#复杂查询#自定义查询
  5. Essay写作没逻辑不要慌,掌握这几点即可
  6. Python MySQL Update
  7. skLearn 支持向量机
  8. 操作CLOB数据——oracle
  9. 关于博主 5ab
  10. js 获取时间对象