使用web servlet前要先安装好tomcat 或者是解压
/*
*c/s
* c/s结构即客户端/服务器(client/server) qq
* 需要编写服务器端程序 以及客户端程序 比如安装的qq的客户端程序
* 缺点 软件更新时需要同时更新客户端和服务器端两端 比较麻烦
* 优点 安全性比较好
*b/s
* b/s结构即浏览器/服务器(browser/server)
* 优点 只需要编写服务器端程序
* 缺点 安全性较差
*web资源
* html 静态资源 浏览器可以看得懂
* jsp/servlet 动态资源 需要先转换成html在给浏览器看
* 除了javaweb程序还有其他web程序比如asp php
* 客户端请求的页面如果是静态页面 那么服务器会直接把静态页面的内容响应给客户端
* 如果请求的是动态页面服务器需要先把动态把动态页面转换成静态网页 然后再把转换后的静态网页响应给客户端
*访问web资源
* 打开浏览器 输入URL
* 协议名://域名:端口/路径 例如 http://www.baidu.com:80/index.html
*web服务器
* web服务器的作用是接受客户端的请求给客户端做出响应
* 对于javaweb程序而言 还需要jsp/servlet容器 jsp/servlet容器的基本功能是把动态资源转换成静态资源 当然jsp/servlet功能不仅仅如此
* web服务器和jsp/servlet容器 通常两者集于一身
* Tomcat(Apache)当前应用最广的javaweb服务器
* JBoss(Redhat红帽) 支持javaee 应用比较广 EJB容器
* GlassFish(Oracle) oracle开发javaweb服务器 应用不是很广
* Resin(Caucho) 支持javaee 应用不断推广
* Weblogic(Oracle) 要钱 支持javaee 适合大型项目
* Websphere(IBM) 要钱 支持javaee 适合大型项目
*Tomcat
* Tomcat服务器由Apache提供开源免费 由于sun和其他公司参与开发 所以 最新的JSP/SERVLET 规范能在Tomcat中体现
* Tomcat7支持Servlet3.0 Tomcat6 只支持Servlet2.5
*Tomcat分为安装本和解压版
* 安装版 一个电脑只能装一个
* 解压版无序安装解压即可用 多少份都可以
*左边猫是Tomcat 右边羽毛是Apache
* 解压的路径没中文和空格 不要太深 要经常用
*环境变量 中JAVA_HOME 不能加封号 因为 JAVA_HOME 后面要再加斜线深一层 因此加了封号就不能用了
* 启动Tomcat之前 必须要配置环境变量JAVA_HOME Tomcat启动需要JDK
* CATALANA_HOME 如果是安装版 还需要配置这个变量 这个变量用来指定Tomcat的安装路径
* 启动 bin目录中的startup.bat
* 关闭 bin目录中的shutdown.bat
* startup.bat 会调用 catalina.bat catalina.bat会调用 setclasspath.bat setclasspath.bat 会使用JAVA_HOME环境变量 所以要配置 JAVA_HOME
* 点击startup.bat 后窗口一闪而是 检查JAVA_HOME环境配置是否正确
*tomcat\conf\server.xml文件
* <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
*http默认端口是8080 也就是说URL中不给出端口号就表示使用8080端口 也可以修改为其他端口号
*
*bin目录下存放的是二进制可执行文件 如果是安装版 那么这个目录下会有两个exe文件 tomcat7.exe、tomcat7w.exe 前者是在控制台下启动Tomcat 后者是弹出UGI窗口启动Tomcat
*如果是解压版 那么会有startup.bat 和shutdown.bat文件 startup.bat用来启动Tomcat 但需要先配置JAVA_HOME 环境变量才能启动shutdown.bat用来停止 Tomcat
*conf 非常重要的目录 有四个重要的文件
* server.xml 配置整个服务器信息 例如修改端口号 添加虚拟主机等
* tomcatusers.xml 存储 tomcat用户的文件 这里保存的是tomcat的用户名和密码 以及用户的角色信息 可以按着该文件的注释信息添加tomcat用户 然后就可以在Tomcat主页进入Tomcat Manager页面了
* web.xml 部署描述符文件 这个文件中注册了很多MIME类型 即文档类型 这些MIME类型是客户端和服务器之间说明文档类型的 如用户请求一个html网页 那么服务器还会告诉客户端浏览器响应的文档是text/html类型的 这就是MIME类型
* 客户端浏览器通过这个MIME类型就知道如何处理它了 当然是在浏览器中显示这个html文件了但如果服务器响应的是一个exe文件 那么浏览器就不可能显示它 而应该弹出下截窗口才对 MIME就是用来说明文档的内容是什么类型的
* context.xml 对所有应用的统一配置 通常不会去配置
*lib Tomcat的类库 存储一大堆jar文件 如果需要添加Tomcat依赖的jar文件 可以把它放到这个目录中 当然也可以把应用依赖的jar文件放入 这个目录中的jar所有项目都可以共享 但是应用放到其他Tomcat下就不能再共享这个目录下的jar包了
* 所以只把Tomcat需要的jar包放到这个目录中
*logs 目录中都是日志文件 记录了Tomcat启动和关闭的信息 如果启动Tomcat时有错误 那么异常也会记录在日志文件中
*temp 存放Tomcat的临时文件 这个目录下的东西可以在停止Tomcat后删除
*webapps 存放web项目的目录 其中每个文件夹都是一个项目 如果这个目录下已经存在了项目 那么就是Tomcat自带的 其中ROOT是一个特殊的项目 在地址栏中没有给出项目目录时 对应的就是ROOT项目 http://localhost:8080/examples进入实例项目
* 其中exxamples就是项目名 即文件夹的名字
*work 运行时生成的文件 最终运行的文件都在这里 通过webapps中的项目生成的 可以把这个目录下的内容删除 再次运行时会再次生成work目录 当客户端访问一个jsp文件时 Tomcat 会通过jsp生成java文件 然后再编译java文件生成class文件
* 生成的java和class文件都会存放到这个目录下
*license 许可证
*notice 说明文件
*
*静态网站
*在webapps目录下创建一个目录(命名必须不包含中文和空格) 这个目录称为项目目录
*在项目目录下创建一个html文件
*动态网站
* 在webapps目录下创建一个项目目录
* 在项目目录下创建如下内容
* WEB-INF目录(注意大小写)
* 在WEB-INF 目录下创建web.xml文件 (可以在其他项目中拿)
*webapps
* |-hello
* |-index.html
* |-WEB-INF
* |-web.xml
* |-classe
* |-lib
*
* hello 应用目录hello就是应用的名称
* index.xml应用资源 应用下可以有多个资源 例如css、js、html、jsp等 也可以把资源放到文件夹中 例如 hello\html\\index.html 这是访问URL为http://localhost:8080/hello/html/index.html
* WEB-INF 这个目录名称必须是大写 这个目录下的东西无法通过浏览器直接访问 也就是说是安全的
* web.xml 应用程序的部署描述符文件 可以在该文件中对应用进行配置 例如配置应用的首页
* <welcome-file-list>
* <welcome-file>index.html></welcome-file>
* </welcome-file-list>
* classes 存放class文件的目录
* lib 存放jar包的目录
*eclipse 是web的编译 Tomcat才是运行环境
*
*Tomcat配置外部应用
* conf/server.xml server.xml文件 中<Host>元素 在其中添加<Context>元素
* <Host name = "localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" >
* <Context path="hello" docBase="D:/hello"/>
* </HOST>
*
*/