WEB服务器总结(1)

public class HttpTomcat总结 {
/**
 * WEB服务器
 * 		概念:
 * 			web资源:一切数据文件;通过网络可以访问到的资源,通常指的是一切放到服务器上的文件
 * 			web资源的分类:
 * 				静态web资源:内容是一成不变的
 * 				动态web资源:内容有可能在不同的时间或者不同ip访问的时候发生的
 * 			web技术分类:
 * 				静态web技术:例如(HTML、CSS、JavaScript)
 * 				动态web技术:例如(Servlet、JSP)
 * 			软件的架构:开发角度 、用户角度、后期维护
 * 				C/S架构(Client/Server 客户端/服务器):例如 :QQ、迅雷、支付宝等等APP端
 * 				B/S架构(Browser/Server 浏览器/服务器):例如:京东、天猫、12306等等..
 * 			区别:
 * 				C/S:需要客户下载客户端,一般页面比较体验比较好比较炫,和服务器交互少,可以在客户端处理部分业务逻辑,可降低服务器的压力,需要维护客户端和服务器端
 * 				B/S:只需要客户有一个浏览器,一切页面都是从服务器加载的,和服务器交互比较频繁,由服务器处理业务逻辑,服务器压力相对大一些
 * 			通讯机制:基于HTTP协议
 * 				a.浏览器发送给服务器请求->request
 * 				b.服务器返回给浏览器响应->response
 * 				注意:先有请求 后有响应,一次请求一次响应
 * 		作用:将我们编好的web项目发布出去,其他人就可以通过网络访问到服务器上的资源
 * 		常见web服务器:
 * 			weblogic oracle公司   特点:大型的收费支持javaee所有规范的web服务器(Servlet和JSP)
 * 			websphere  	ibm公司   特点:同上
 * 			Tomcat	 apache公司   特点:小型免费支持Servlet和jsp规范的web服务器
 * 		Tomcat服务器
 * 			下载:http://tomcat.apache.org/download-70.cgi
 * 			目录结构:
 * 			配置:
 * 				常见问题:一闪而过    需要查看JAVA_HOME是否配置正确
 * 					       端口占用     可以修改Tomcat端口(Tomcat目录server.xml大约70行,端口号0~65535,0~1024系统预留端口号一般不要使用,可以使用默认端口80端口)
 * 		HTTP协议:
 * 			协议:规定内容的传输的格式
 * 			http协议:用来制定互联网数据传输格式
 * 			包含:
 * 				a.浏览器发送给服务器请求->request
 * 				b.服务器返回给浏览器响应->response
 * 			请求格式:请求行+请求头+请求体 * 				
 * 				请求行:
 * 					请求方式/请求资源/协议/版本(GET/day01/index.html/HTTP/1.1)
 * 				请求头:
 * 					a.Accept:text/html;image/*  ->支持数据格式
 * 					b.Accept-Charset:ISO-8859-1 ->字符集
 * 					c.Accept-Encoding:gzip		->支持压缩
 * 					d.Accept-Language:zh-cn		->语言环境
 * 					e.Host:www.csdn.cn:80		->访问主机
 * 					f.Cookie
 * 				重要的头:
 * 					Referer
 * 				请求体:
 * 					和请求头之间有个空行
 * 			响应格式:响应行+响应头+响应体
 * 				响应行
 * 					协议版本 响应的状态码 状态码说明(例如:HTTP/1.1 200 OK)
 * 				状态码:
 * 					a.1xx:请求已发送
 * 					b.2xx:响应已完成
 * 					c.3xx:302重定向、304读缓存
 * 					d.4xx:404用户访问的资源不存在
 * 					e.5xx:500服务器内部异常
 * Servlet
 * 		概述:Servlet就是运行在web服务器上的java程序,本质上就是一个java类,一个类要想通过浏览器被访问到,那么这个类必须直接或间接的实现Servlet接口
 * 		作用:
 * 			a.接收浏览器的请求
 * 			b.处理请求
 * 			c.生成响应信息
 * 		Servlet API:
 * 			a.init:初始化
 * 			b.service:提供服务(doGet/doPost)
 * 			c.destroy:销毁
 * 			d.getServletConfig():获取当前Servlet的配置对象
 * 			e.getServletInfo:获取Servlet信息
 * 		Servlet生命周期:从创建到死亡的过程
 * 			同上:abc
 * 			当浏览器第一次访问该Servlet的时候,服务器会创建该Servlet对象,并调用init()方法进行初始化,init()方法执行后service方法会跟着执行
 * 			再访问该Servlet的时候,直接调用service()方法提供,并且是访问一次调用一次(服务器不会再创建该servlet的对象,也不会调用init()方法进行初始化)
 *			当服务器正常关闭的时候或项目从服务器中移除的时候,服务器会调用destroy()方法,将servlet对象销毁
 *			注意:不论访问多少次只有一个Servlet对象
 *		Servlet配置:
 *			servlet标签:
 *				<servlet-name>给Servlet起名称</servlet-name> 
 *				<servlet-class>Servlet类路径<servlet-class/> 			
 * 			servlet-mapping标签:
 * 				<servlet-name>已经注册好的Servlet名称<servlet-name/>	
 * 				<url-pattern>访问路径</url-pattern>	
 * 			注意:一个路径只能对应一个servlet,一个servlet可以对应多个路径
 * 		ServletContext上下文对象
 * 			上下文对象:全局管理者,一个项目中所有Servlet的一切信息
 * 			作用:获取全局初始化参数,获取文件的mime类型,资源共享,获取资源的完整路径
 * 			生命周期:
 * 				a.创建:当服务器启动的时候,服务器会为每一个项目创建ServletContext对象,一个项目只有一个ServletContext对象
 * 				b.销毁:项目从服务器上移除或者服务器正常关闭的时候
 * 			常用方法:
 * 				a.String getInitParameter(String name) 获取指定的项目初始化参数
 * 				b.Enumeration getInitParameterNames() 获取所有初始化参数名称
 * 				c.String getMimeType(String filename) 获取文件mime类型
 * 				d.setAttribute(String name,Object value) 设置
 * 				e.getAttribute(String name) 获取指定的属性值
 * 				f.removeAttribute(String name) 移除指定的属性
 * 				h.理解:InputStream getResourceAsStream(String filepath)以流的方式返回一个文件
 * Cookie&Session
 * 		Cookie会话技术:
 * 			用来保存用户在访问过程中产生的数据
 * 		作用:
 * 			将会话中产生的数据存放在浏览器端
 * 		工作流程:
 * 			浏览器访问服务器时,服务器生成Cookie(键值对形势),通过响应(响应头 set-cookie)返回给浏览器,Cookie保存在浏览器上;下次访问服务器的时候,根据一定的规则携带不同的cookie,将cookie装在请求头带到服务器上
 * 		注意事项:
 * 			cookie不能跨浏览器;不能放中文(如果需要解码,一般不放)
 * 		Session会话技术:
 * 			服务器端的会话技术
 * 		作用:
 * 			在服务器上存放一次会话中的数据
 * 		工作流程:
 * 			浏览器访问服务器时,服务器会获取浏览器的数据,判断浏览器是否携带了sessionID
 * 			true:如果带了,服务器要先获取sessionID,根据sessionID找到这个session
 * 			false:如果没带,想使用session,需要创建session(服务器的内存空间,由服务器创建),使用这个session,使用完将sessionID返回浏览器,由浏览器保存sessionID(依赖cookie)
 *		获取session:
 *			在第一次调用request.getSession()就是创建session空间
 *		生命周期:
 *			a.创建:第一次调用request.getSession()
 *			b.销毁:服务器非正常关闭;session超时(默认30分钟);手动销毁(session.invalidate())
 *域对象(Servlet中的三大域对象)
 *		ServletContext
 *			生命周期:服务器启动的时候,会为每一个项目创建一个servletContext对象,服务器关闭的时候或者移除的时候
 *			作用范围:整个项目
 *			作用:获取全局初始化参数;获取文件mime类型;获取项目path;存放共享数据;读取文件
 *		Session
 *			生命周期:
 *				第一次调用request.getSession()
 *			销毁:
 *				正常或非正常关闭
 *			作用范围:
 *				一次会话
 *		Request
 *			生命周期:
 *				创建(请求的时候);销毁(响应生成的时候)
 *			作用范围:一次请求链
 *JSP
 *		概述:
 *			将页面的展示和内容的生成相分离;(本质上就是一个Servlet,是服务器一种动态的网页技术(简单理解就是html嵌套java代码))
 *		作用:
 *			展示动态的信息
 *		执行流程:
 *			a.第一次访问jsp页面,服务器接收请求,由jspServlet处理该请求,会找到对应的jsp文件
 *			b.服务器会将jsp转换成java文件(_jsp.java)
 *			c.编译java文件,生成class文件
 *			d.服务器运行class文件,生成动态内容,返回浏览器
 *		jsp指令:
 *			设置当前页面的一些属性和行为
 *			格式:
 *				<%@ 指令name 属性=值%> 指令可以出现多次;可以放在页面的任何位置,一般放到jsp页面上面
 *		jsp的三大指令
 *			page:声明当前的一些属性和行为
 *			重要属性:
 *				a.import:声明当前页面所需要的jar包
 *				b.pageEncoding:设置当前文件mime类型,指定响应流的编码,通知浏览器用什么编码解析
 *				c.contentType和pageEncoding:若两个编码都是用出现这个编码的,若都没出现使用默认的
 *		jsp的内置对象(九大内置对象)
 *			request   		HttpServletRequest
 *			response  		HttpServletResponse
 *			out       		JspWriter
 *			Session	  		HttpSession
 *			exception 		Throwable
 *			page      		Servlet(this)
 *			config	  		ServletConfig
 *			application 	ServletContext
 *			pageContext 	PageContext
 *			注意:a.exception只有页面声明一个错误页面的时候才可以用
 *				b.Session默认可以使用,当页面通过page指令声明 session=false的时候不能使用session
 *		jsp的四大作用域
 *			pageContext
 *			request
 *			session
 *			application
 *		jsp动态标签(了解)
 *			<jsp:forward page='项目内部path'></jsp:forward> == request.getRequestDispatcher("").forward(req,resp);
 *			<jsp:include page=''><jsp:include/>
 *
 */
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值