java web工作原理

java web工作原理
html
全称超文本标记语言。是通过标记和子标记来,描述网页内容。超文本的含义为在网页中描述的不只是文本数据。还可以通过一系列标记去连接各式各样的资源。包括图片,音频,css,js等。当客户端在访问网页时,除了有要下载文本数据,还需要通过网页中的描述的连接地址,去下载各式各样的资源文件,让网页正确显示
请求的是文件: url:3.jpg
get 方式请求业务组件: url:land 表单数据:paramMap
post 方式请求业务组件 : url :land  表达数据:paramMap
请求响应模型
http是一种无状态协议,当客户端和服务器之间完成了数据交互之后,连接会断开,以释放服务器的内存资源.这样释放服务器的内存.服务器就无法保存客户端的状态
请求信息分为四部分
请求行
描述请求的方式
请求头
以键值对描述客户端信息
空行
请求头的结束和消息体开始
消息体(只针对POST)
响应信息分为四部分
状态行
描述协议的版本,状态码,状态描述
响应头
以键值对方式描述服务器相关的状态
空行
响应头的结束和消息体的开始
消息体
描述客户端发给服务器的内容
MIME类型:
用于描述客户端和服务器之间的交互内容类型,客户端可以根据MIME类型决定什么应用程序来打开和执行
text/html 网页格式数据
image/jpeg 图片格式数据
text/xml::xml 格式数据
传统的web服务器的产生响应时,只能产生静态的html信息,极大的影响应 信息的灵活性.解决方案时
,在web服务器之后加上辅助应用.辅助可以将请求信息处理货
,以后数据库为介质处理结果,然后动态的产生响应信息
GCI  称为通用网关接口,他是辅助应用的一种解决方案,可以用多种语言编写
,当客户端向服务器发送请求后,会开启外部程序来处理请求
.由于每个外部程序否是进程会占用独立的内存空间,会消耗法大量资源
java利用servlet+web容器来实现辅助应用.有web容器做一些底层操作,比如流的解析,线程的控制,
数据的封装.同时预留servlet接口,交给开发者书写业务逻辑.同时使用多线程解决任务,可以同时接收多条请求
web对容器的支持包括
通信支持(请求信息和响应信息封装为 请求对象和响应对象)
servlet支持(产生和销毁servlet  及方法的 调用)
多线程支持(创建,启动,运行,同步线程)
jsp支持
处理安全性
servlet 规范
WEB应用程序

WEB-INF目录中的内容不能被客户端直接访问,存放一些比较隐秘的信息
WEB-INF
classes
开发者书写 业务类编译生成的class文件
lib
用于存放应用程序所使用的jar文件
web.xml
用于web组件的注册
*.html
*.img
*.css
*.js
tomcat 的目录结构
bin
用于存放tomcat中的可执行文件.其中startup.bat用于启动tomcat.shutdown.bat用于关闭tomat
conf
存放tomcat的配置文件,其中sever.xml用于tomcat服务器相关的配置.
webxml用于tomcat中web的相关配置
server.xml <Connector port="8080" protocol="http/1.1 ...描述tomcat启动端口
appBase="webapps" 描述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服务器合称应用服务器

工厂模式

将对象的创建和使用分开进行,其目的是解耦


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值