【概念笔记】JavaEE - web part1
IT`huhui前言录
想对学习的内容进行下简易的总结方便自己回头复习。
但是还有很多地方是不完善的需要慢慢修改。
持续更新。
Web 服务器
- IIS 微软主推
- Apache C写的
- Tomcat java写的(一般作为JSP和servlet的容器)
- 还有很多很多其他不常用
标准的WEB application 目录结构:
WEB-INF
WEB.XML(web app的配置文件)
LIB(web app遇到的库文件)
CLASSES(存放编译好的servlet)
META-INF(存放webapp 上下文信息)
例子:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>servlet1</display-name>
<!-- 全局初始化数据 -->
<context-param>
<param-name>name</param-name>
<param-value>aaaaaaaa</param-value>
</context-param>
<servlet>
<servlet-name>IndexAction</servlet-name> //容器里面servlet的名字,随意取
<servlet-class>com.hui.action.IndexAction</servlet-class>//与class文件同名
<!-- 局部初始化数据 -->
<init-param>
<param-name>username</param-name>
<param-value>测试</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping> //serlvet的映射
<servlet-name>IndexAction</servlet-name> //与上面servlet名字相同
<url-pattern>/index.action</url-pattern>//我的url地址,调用我的serlvet 其中'/' 是相对于url地址的web application的根路径
</servlet-mapping>
</web-app>
Servlet
定义:servlet 是服务器的java应用程序,给客户端提供服务
访问方式:
协议://域名:端口/应用访问路径/uri(servlet)的映射路径- servlet工作模式:
单实例多线程
即(只有一个对象提供服务) servlet生命周期
生命周期:
加载(ClassLoader)
实例化 (new对象)
初始化 init(servletConfig):只执行一次,第一次初始化的时候执行
处理请求 service():对于HTTP来说 就是调用doget 和 dopost方法
退出服务 destory():释放资源- load on startup:
- 有配置 load - on -startup 情况下:
设置后可以先实例化 ,
先读取配置文件等信息,
否则如果配置文件等太大 ,
会等用户初次请求才初始化 ,
会导致缓慢加载。 - 没有配置 load - on -startup 情况下:
第一次被访问的时候进行servlet对象实例化,
由servlet容器调用init方法进行初始化,
每次请求调用service方法进行请求的处理,
当容器关闭时调用destory方法释放资源。
- servlet小记:
一个servlet类,可以配置成多个servelt实例
一个servlet实例。可以配置多个映射地址
一个servlet容器(tomcat)可以部署多个应用(servletContext)
一个应用(servletConetext)可以对应多个servlet(Action)
Http协议
定义:
HTTP是HyperText Transfer Protocol即超文本传输协议的缩写,是Web应用层协议之一。机制
基于请求响应机制特性
无状态(没办法维持状态)
①既然HTTP协议的目的在于支持超文本的传输,更加广义一些就是支持资源的传输,那么在客户端浏览器向HTTP服务器发送请求,继而HTTP服务器将相应的资源发回给客户端这样一个过程中,无论对于客户端还是服务器,都没有必要记录这个过程,因为每一次请求和响应都是相对独立的,就好像你在自动售货机前投下硬币购买商品一样,谁都不会也不需要记住这样一个交易过程
②HTTP本身是一个无状态的连接协议,为了支持客户端与服务器之间的交互,我们就需要通过不同的技术为交互存储状态,而这些不同的技术就是Cookie和Session了。
TCP协议
TCP英文为Transmission Control Protocol ,传输控制协议,位于传输层。
TCP特性:三次握手四次回收HTTP和TCP关联
HTTP是上层的协议,需要下层TCP支持HTTP报文
请求行 (请求方法+ URI +Http 协议版本)
请求头
请求体
响应行
响应头
响应体URI和URL
URL:https://www.baidu.com/index.html
URI:index.html- HTTP常见的状态码:
- 1xx 提示信息 继续处理
- 2xx 成功信息
- 3xx (例如302)客户端重定向
- 4xx 客户端错误信息
- 5xx 服务端的错误
【概念笔记】JavaEE - web part1的更多相关文章
- 【概念笔记】JavaEE - web part2
IT`huhui前言录 续JavaEE - web part1 链接http://www.cnblogs.com/ithuhui/p/5930745.html, 持续修改更新. Cookie 1. 定 ...
- javaEE(web)SEO优化 Yahoo军规
javaEE(web)SEO优化 Yahoo军规 1.尽可能减少HTTP请求数2.使用CDN3.添加Expire/Cache-Control头4.启用Gzip压缩5.将CSS房在页面最上方6.将Scr ...
- Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径
Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径 (2015/07/08更新) JDK下载地址(JDK官网下载地址) 下载地址为:http://www.oracle.co ...
- javaee web项目的目录结构
一般web系统的目录结构如下,其中src下的包结构和webroot下(除meta-inf和web-inf)的文件夹可以根据自己的项目实际调整,但是javaee规范的大目录结构不会变: META-INF ...
- go语言,golang学习笔记2 web框架选择
go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...
- Spring实战第六章学习笔记————渲染Web视图
Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图. ...
- 【概念笔记】JAVA基础 - part1
IT`huhui前言录 这是自己对JAVA基础的一个小总结,会不断完善.因为时间仓促的原因. 每学习一段时间,停下来,静心总结一下,甚好.停停走,走走停,一往无前,不摔倒. 一些链接里面是我看到一些人 ...
- 【概念笔记】JAVA基础 - part2
IT`huhiu前言录 这是续JAVA基础 - part1 链接http://www.cnblogs.com/ithuhui/p/5922067.html的. 笔记慢慢在修改和补充 JAVA里面重要的 ...
- 【笔记】web 的回流与重绘及优化
最近看了幕课网 web 前端性能优化的课程,其中说到了浏览器的回流(reflow) 及 重绘(repaint).觉得以后面试或许会被问到所以做一下笔记: 课程从回流及重绘这两个点延伸出了一个知识点就是 ...
随机推荐
- centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复
centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...
- BCB中获得RichEdit 默认行间距
首先,这些功能支持RichEdit2.0 以上功能: 其次,用常规的方法是无法获得LineSpace 的: 你使用 EM_GETPARAFORMAT也得不到,你会发现dyLineSpacing 的值永 ...
- 练习JavaWeb连接数据库
1.添加jar包. 建立动态java项目,在Web-INF文件夹下的lib文件夹里添加jar包. 区别:java中添加的jar包需要添加构建路径,而javaWeb中添加的jar不需要构建路径,自动添加 ...
- (转)UVM内容梗概
1. 类: 面向对象基础传统的面向对象编程与systemverilog类的特点,类的定义,成员与方法,构造函数,对象的复制和深/浅拷贝,父类/子类关系,类的继承,作用域的规则,对象的句柄以及赋值,方法 ...
- 深入理解js——prototype原型
之前(深入理解js--一切皆是对象)中说道,函数也是一种对象.它也是属性的集合,你也可以对函数进行自定义属性.而JavaScript默认的给了函数一个属性--prototype(原型).每个函数都有一 ...
- SQL in与exists
无可置疑,如果in()的结果集非常庞大,那么效率必然是低的. 但EXISTS subquery根据其语法可知在SQL中的作用是:检验查询是否返回数据.如果在 Dictionary 对象中指定的关键字存 ...
- ios 学习总结之动画(转)
转自:http://blog.sina.com.cn/s/blog_a85effc301012wu4.html UIView的,翻转.旋转,偏移,翻页,缩放,取反的动画效果 翻转的动画 //开始动 ...
- ORACLE rowid,file# 和 rfile#
rowid简介 rowid就是唯一标志记录物理位置的一个id,在oracle 8版本以前,rowid由file#+block#+row#组成,占用6个bytes的空间,10 bit 的 file# , ...
- wget net-tools
新安装的centos7 minimal 没有安装 wget 需要安装一下,才能安装lnmp yum -y install wget yum -y install net-tools
- Oracle 取随机数(转)
1.从表中随机取记录 select * from (select * from staff order by dbms_random.random) where rownum < 4 ...