javaWeb基础
来源:互联网 发布:中国最大论坛 知乎 编辑:程序博客网 时间:2024/05/16 08:23
html
全称为超文本标记语言,是通过标记和子标记来描述网页内容,超文本的含义为网页中描述的不只是文本数据,还可以通过一系列标记去链接各式各样的资源,包括图片,音频,css,js等。当客户端在访问网页时,除了要下载文本数据,还学要通过网页中描述的链接地址,去下载各式各样的资源文件,才能让网页正确显示。
工厂模式
将对象的创建和对象的使用分开进行。其目的是解耦。
http
超文本传输协议
- http遵循请求/响应模型
- http协议是一种无状态的协议
- http协议的端口为80
- http是一种无状态的协议,当客户端和服务器之间完成了数据交互之后,连接会断开,已释放服务器的内存资源,这样服务器就无法保护客户端的状态,会认为每次请求的用户都是新用户
- http处理流程:客户端和web服务器建立连接,客户端发送http请求,生成http响应回发,关闭连接。
http的请求信息分为四部分
- 请求行:描述请求方式,请求的url,http协议的版本
- 请求头:以键值对方式描述客户端的状态。
- 空行:标识请求头的结束和消息体的开始。
- 消息体:(之针对post):描述客户端发送给服务器的表单数据。
MIME类型:用于描述客户端和服务器之间交互内容类型,客户端可以根据MIME类型来决定以什么应用程序来打开和执行。
- text/html:网页格式数据
- image/jpeg:图片格式数据
- text/xml:xml格式数据
http响应信息分四部分
- 状态行:描述http协议版本,状态码,状态描述。
- 响应头:以键值对方式描述服务器相关的状态。
- 空行:标识响应头的技术和消息体开始。
- 消息体:描述服务器发送给客户端的内容。
web服务器产生响应时,只能产生静态的html信息,极大影响响应信息的灵活性。解决方案是:在web服务器之后加上辅助应用,辅助应用可以将请求信息处理后,以数据库为介质保存处理结果,然后动态产生响应信息。
CG通用网关接口:它是辅助应用的一种解决方案,可以用多种语言编写,当客户端向服务器发送请求后,会开启外部程序来处理该请求,由于每个外部程序是进程,每次开启都会占用独立内存空间,所以,会极大的耗费服务器的内存资源,也不能接受太多的请求。
java是利用web容器+servlet方式实现辅助应用,由web容器做一些底层操作,比如:流的解析,线程的控制,数据的封装等。同时,预留servlet接口,交给开发者书写业务逻辑,这样开发者就可以将主要精力放在业务实现上,而不是为底层操作编写代码。同时web容器利用多线程解决多任务,可以同时接受更多请求。
web容器对servlet的支持包括
- 通信支持(将请求信息和响应信息封装成请求对象和响应对象)
- servlet生命周期管理(产生servlet和销毁servlet,并调用servlet相关的方法)
- 多线程支持(线程创建,线程启动,线程运行,线程同步)
- JSP支持(JSP引擎编写)
- 处理安全性
servlet规范
servlet容器有很多不同的实现
- tomcat
- Jboss
- weblogic
- websphere
- oracle9iAS
tomcat目录结构
- bin:用于存放tomcat中的可执行文件,其中startup.bat用于启动tomcat,shutdown.bat用户关闭tomcat。
- conf:存放tomcat的配置文件。其中server.xml用于tomcat服务器相关的配置。web.xml用于tomcat中的web应用相关的配置。
server.xml:connector port="8088"protocol="http/1.1"------描述tomcat启动端口
host appbase="webapps" unpackWARs="true"----appbase描述tomcat中存放web应用程序的目录。unpackWARs当web应用程序目录中有war文件,则自动解压。lib:用于存放tomcat运行时所使用的jar包,其中servlet-api.jar是tomcat根据servlet非法提供的实现类,所生成的jar文件。
- logs:用于存放日志文件。
- temp:用于存放临时文件。
- webapps:用于存放和部署web应用程序的目录。
- work:用于jsp支持。
web服务器,web容器和web应用服务器的区别
- web服务器主要作用于开启服务器,监听端口,接受请求,产生响应,只是只能产生静态html响应信息,极大影响响应信息灵活性。
- web容器是辅助应用的一种解决方案,允许将请求信息处理完成后,动态产生响应信息。
- web服务器+web容器:合称web应用服务器。
0 0
- javaWeb day04 ( javaWeb基础 )
- javaWeb基础
- javaweb基础
- javaweb-基础
- JavaWeb基础
- javaWEB基础
- JavaWeb 基础
- JavaWeb基础
- javaWeb基础
- javaweb基础
- javaweb基础
- javaWeb 基础
- JavaWeb 基础
- Javaweb基础
- javaweb基础
- javaweb基础2
- JavaWEB基础开发入门
- day01-Javaweb xml基础
- Android四大组件之Activity(中)
- Eclipse安装MAT插件
- 辅音音标及发音规则
- 谈Android中Activity的学习和收获
- Codevs 1066 引水入城 2010年NOIP全国联赛提高组
- javaWeb基础
- redis 有序集合
- 【图像处理】加权最小二乘滤波器
- LDAP概念和原理
- IIPP迷你项目(四)"Pong"
- Android序列化parcelable和 serializable分析
- 重新认识HashMap(in JDK1.8)
- Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式
- Serializable探究一二