1Tomcat目录结构bin运行程序conf配置文件libtomcat需要类库logstomcat日志webapps网站部署目录work存放JSP编译后文件Tomcat启动问题1、没有配置JAVA_HOMENeithertheJAVA_HOMEnortheJRE_HOMEenvironmentvariableisdefinedAtleastoneoftheseenvironmentvariableisneededtorunthisprogram2、配置JAVA-HOMEJAVAHOME配置值时候多写;3、将JAVA_HOME配置成为JRE路径TheJAVA_HOMEenvironmentvariableisnotdefinedcorrectlyThisenvironmentvariableisneededtorunthisprogramNB:JAVA_HOMEshouldpointtoaJDKnotaJRE端口占用启动问题发现tomcat端口被占用(怎么发现的logs)-----Fport找到占用端口进程名称-----任务管理器关闭进程8080是tomcat默认端口OracleListener开发中经常将默认端口修改为80-----conf/server.xmlCATALINA_HOME环境变量:用来指定默认运行tomcat目录位置、不管运行哪个tomcat/bin/startup.bat都启动CATALINA_HOME配置tomcattomcat中如何部署web应用1、tomcat/conf/context.xml里面配置信息将会用于所有web应用2、tomcat/conf为每个主机建立一个context.xml用于所有该主机web应用部署web应用三种方式1、配置server.xml修改Host元素内部添加Contextpath=/xxxdocBase=xxxx/2在D:\apache-tomcat-7.0.69\conf下的server.xmlhost下加入Contextpath=/abcdocBase=e:\aaa///abc是访问路径,直接/abc/index.html2、配置$CATALINA_HOME/conf/[enginename]/[hostname]/directory在tomcat安装目录下的conf下新建Catalina然后在Catalina下新建localhost。在localhost下建一个abc.xml文件,那么abc就是访问路径。在abc.xml中加入ContextdocBase=”e:\aaa”启动tomcat在访问时用/abc/index.html3、将整个web应用目录拷贝到webapps配置缺省web应用访问主机IP,直接打开默认web应用------------localhost回车后即可访问web应用的index内容1、webapps下建立ROOT目录就是缺省应用,tomcat已经占据了2、配置server.xmlContextpath=docBase=xxxx/-----path什么都不写就是缺省web应用3、在conf/Catalina/localhost里面建ROOT.xml文件,在其中添加ContextdocBase=e:\aaa/war文件是zip格式静态资源直接存放网站根目录动态java网站会存在WEB-INFweb.xml配置欢迎页面在web.xm中有这么一段代码,默认三个页面为欢迎界面。welcome-file-listwelcome-fileindex.html/welcome-filewelcome-fileindex.htm/welcome-filewelcome-fileindex.jsp/welcome-file/welcome-file-list如何架设一个站点?1、开发站点代码2、一台服务器(1)自己购买服务器,服务器托管2)购买服务器空间虚拟主机空间)--------IP地址3、购买域名、在一个tomcat服务器中可以放置多个网站,所谓配置虚似主机,就是在tomcat服务器中配置一个网站。2、如需在WEB服务器中配置一个网站,需使用Host元素进行配置,例:Hostname=”site1”appBase=”c:\app”/HostHostname=localhostappBase=webappsunpackWARs=trueautoDeploy=trueValveclassName=org.apache.catalina.valves.AccessLogValvedirectory=logsprefix=localhost_access_log.suffix=.txtpattern=%h%l%u%t"%r"%s%b//HostHostname==e:\aaaunpackWARs=trueautoDeploy=true/Host3、配置的主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册C:\WINDOWS\system32\drivers\etc\hosts2、配置hosts文件将目标域名映射本机3、提供默认缺省虚拟目录(网站)----ROOT配置缺省虚拟主机有什么用?----当服务器DNS瘫痪时,只有缺省虚拟主机能被访问!在server.xml中有一句话Enginename=CatalinadefaultHost=localhost就是定义缺省主机的。登录服务器管理员的方法:启动tomcat主页,点击tomcatmanager要求输入用户名密码。点击取消进入说明。在conf下的tomcat-users.xml文件中加入提示的rolerolename=manager-gui/userusername=tomcatpassword=abcdefroles=manager-gui/而后登录即可context元素常用属性4WEB应用的组成结构开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。Web应用所在目录这些文件一般存在web应用根目录下,根目录下的文件外界可以直接访问java类、jar包、web应用的配置文件存在这个目录下,该目录下的文件外界无法非法直接访5在myeclipse中新建一个webproject工程web工程的名称,该工程部署时,在webapps目录下就会有一个example的web应用Java程序的开发目录,该目录下编写的所有j程序在部署时,会自动部署到example/WEB-INF/classes目录下。webroot对应于web应用的根目录,该目录下的所有子目录和子文件在部署时,会原封不动的发布到web应用目录下。6OSI七层协议TCP/IP分层TCP传输层协议IP网络层协议三次握手发送方:你能收到我的数据吗?接收方:我能收到你的数据,你能收到我的数据吗发送方:我也能收到TCP不丢包的数据传输,发送方如果一直收不到接收方回应,就会超时HTTP请求三部分:请求行、消息头、消息体请求行三部分:请求方式(GET/Post)、请求资源路径、协议版本消息头以键值对的方式传输GET和POST区别GET数据格式请求数据位于请求行中GET/day4/index.html?username=aaa&password=bbbHTTP/1.1Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/x-shockwave-flash,application/msword,application/vnd.ms-excel,application/vnd.ms-powerpoint,*/*Referer::zh-cnAccept-Encoding:gzip,deflateUser-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR2.0.50727)Host:localhostConnection:Keep-AlivePOST数据格式请求数据位于请求体中POST/day4/index.htmlHTTP/1.1Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/x-shockwave-flash,application/msword,application/vnd.ms-excel,application/vnd.ms-powerpoint,*/*Referer::zh-cnContent-Type:application/x-:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR2.0.50727)Host:localhostContent-Length:25Connection:Keep-AliveCache-Control:no-cacheusername=aaa&password=bbb请求的解析Accept:text/html,image/*image/jpeg通知服务器,客户端可以识别文件格式MIME-TypeAccept-Charset:ISO-8859-1客户端能够接受编码Accept-Encoding:gzip客户端识别压缩格式Accept-Language:zh-cn客户端语言Host:访问目标服务器If-Modified-Since:Tue,11Jul200018:23:51GMT该资源客户端存在,告诉服务器该资源最后修改时间-----如果客户端资源已经最新,服务器将通知客户端找寻本地缓存Referer:请求来源举例:GET:(compatible;MSIE5.5;WindowsNT5.0)CookieConnection:close/Keep-Alive8Date:Tue,11Jul200018:23:51GMT服务器响应的解析HTTP响应包括3个部分:响应行、头信息、响应体响应行包括3个部分:协议版本、状态码、状态描述信息状态码1xx:请求收到,需要继续处理2xx:请求处理完成3xx:重定向4xx:客户端出错,服务器无法处理----页面找不到5xx:服务器出错200请求处理成功302重定向A找B借钱,B告诉A去找C借去304和307If-modified-sincelast-modified服务器通知客户端查看本地缓存A找B借钱,B说你兜里有404页面找不到错误A找B借钱B说没钱500服务器内部异常响应头含义Location:结合302状态码使用,服务器通知客户端重定向资源---常见应用:未登陆,自动跳转登陆页面Server:apachetomcat服务器类型Content-Encoding:gzip通知客户端响应内容使用压缩格式Content-Length:80响应长度C