tomcat、Web相关
tomcat启动与停止
bin目录下
startup shutdown
catalina start catalina stop
catalina debug 调试错误的时候
run exit help
设置环境变量JAVA_HOME
shutdown.bat小心使用
Tomcat的目录结构
bin/ 二进制可执行文件和脚本
catalina start stop
catalina debug run exit
common/ Catalina本身和web应用可加载的类目录
conf/ 配置文件目录
logs/ 日志目录
server/ 服务器所需的类库目录
shared/ Web App共享的类库
webapps/ Web应用所存放的目录applications
work/ Tomcat的工作目录(存放jsp产生的class文件)
temp/ 存放临时产生的文件
tomcat目录结构
bin: 存放各种平台下启动和关闭Tomcat的脚本文件。
startup.bat是windows下启动tomcat的文件,
shutdown.bat是关闭tomcat的文件。
common: 在common目录下的lib目录,存放Tomcat服务器和所有web应用都能访问的JAR。
shared: 在shared目录下的lib目录,存放所有web应用能访问的,但Tomcat不能访问的JAR。
server: 在server/webapps目录中,存放Tomcat自带的两个APP-admin和manager应用,来管理Tomcat-web服务用的。
work : Tomcat把各种由jsp生成的servlet文件放在这个目录下。
temp : 临时活页夹,Tomcat运行时候存放临时文件用的。
logs : 存放Tomcat的日志文件
webapps: web应用的发布目录,把 java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问了。
conf : Tomcat的各种配置文件,最重要的是 server.xml.
Tomcat配置文件
conf/server.xml 服务器的主配置文件
conf/web.xml 定义所有Web应用的配置
(缺省的Servlet定义和MIME类型定义)
conf/tomcat-user.xml 定义了tomcat用户的信息(用于权限与安全)
HTTP协议基础
HTTP(Hypertext Transfer Protocol, 超文本传输协议)
HTTP是以明文方式发送数据的
用于从WWW服务器传输超文本到本地浏览器的传输协议。
HTTP协议是以TCP/IP为基础的高层协议。
现在广泛使用的版本HTTP/1.1
响应码:
"100" : Continue
"101" : witching Protocols
"200" : OK
"201" : Created
"202" : Accepted
"203" : Non-Authoritative Information
"204" : No Content
"205" : Reset Content
"206" : Partial Content
"300" : Multiple Choices
"301" : Moved Permanently
"302" : Found
"303" : See Other
"304" : Not Modified
"305" : Use Proxy
"307" : Temporary Redirect
"400" : Bad Request
"401" : Unauthorized
"402" : Payment Required
"403" : Forbidden
"404" : Not Found
"405" : Method Not Allowed
"406" : Not Acceptable
"407" : Proxy Authentication Required
"408" : Request Time-out
"409" : Conflict
"410" : Gone
"411" : Length Required
"412" : Precondition Failed
"413" : Request Entity Too Large
"414" : Request-URI Too Large
"415" : Unsupported Media Type
"416" : Requested range not satisfiable
"417" : Expectation Failed
"500" : Internal Server Error
"501" : Not Implemented
"502" : Bad Gateway
"503" : Service Unavailable
"504" : Gateway Time-out
"505" : HTTP Version not supported
GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据
HEAD 请求获取由Request-URI所标识的资源的响应消息报头
PUT 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
请求格式:
GET /latest.html HTTP/1.1
Host: www.baidu.com
Content-Type: text/html
…
{空行}
POST /servlet/serv HTTP/1.1
Host: www.baidu.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 32
username=billgates&password=hehe
HTTP/1.1 200 OK
Date: Fri,31 Dec 2003 10:23:34 GMT
Content-Type: text/html
Content-length: 280
<html>
……
</html>
Servlet简介
Servlet是服务器小应用程序
用来完成B/S架构下,客户端请求的响应处理
平台独立,性能优良,能以线程方式运行
Servlet API为Servlet提供了统一的编程接口
Servlet一般在容器中运行
常见的Servlet容器
Tomcat
Jetty / Resin
Servlet的生命周期
生命全过程:
加载 ClassLoader
实例化 new
初始化 init(ServletConfig)
处理请求 service doGet doPost
退出服务 destroy()
只有一个对象
API中的过程:
init()//只执行一次, 第一次初始化的时候
如何掌握Servlet
创建Servlet
从HttpServlet继承
重写doGet / doPost方法
在web.xml中配置
servlet生命周期
Cookie / Session / Application的概念
请求转发
使用javabean
JSP内置对象 可直接使用
out
request
response
pageContext 用的很少
session
application
config 用的很少
exception
Page 用的很少
用于将一个jsp的内容传送到page所指定的JSP程序或者Servlet中处理(URL)
<jsp:forward>
使用同一个request
forward后的语句不会继续发送给客户端
速度快
服务器内部转换,
可以传参数
response.sendRedirect
是不同的request
send后的语句会继续执行,除非return
速度慢
需要到客户端的往返,可以转到任何页面
可以传参数,直接写在url后面
jsp <%%> 和 <%!%>
<%=String="会被定义成局部变量,不可以定义方法%>
<%!=String="会被定义成成员变量,可以定义方法"%>
Action(动作指令)在运行期间的命令常见的:jsp:useBeanjsp:setPropertyjsp:getPropertyjsp:includejsp:forwardjsp:paramjsp:plugin嵌入applet