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应用程序,给客户端提供服务

  1. 访问方式:
    协议://域名:端口/应用访问路径/uri(servlet)的映射路径

  2. servlet工作模式:
    单实例多线程
    即(只有一个对象提供服务)
  3. servlet生命周期
    生命周期:
    加载(ClassLoader)
    实例化 (new对象)
    初始化 init(servletConfig):只执行一次,第一次初始化的时候执行
    处理请求 service():对于HTTP来说 就是调用doget 和 dopost方法
    退出服务 destory():释放资源

  4. load on startup:
  • 有配置 load - on -startup 情况下:
    设置后可以先实例化 ,
    先读取配置文件等信息,
    否则如果配置文件等太大 ,
    会等用户初次请求才初始化 ,
    会导致缓慢加载。
  • 没有配置 load - on -startup 情况下:
    第一次被访问的时候进行servlet对象实例化,
    由servlet容器调用init方法进行初始化,
    每次请求调用service方法进行请求的处理,
    当容器关闭时调用destory方法释放资源。
  1. servlet小记:
    一个servlet类,可以配置成多个servelt实例
    一个servlet实例。可以配置多个映射地址

一个servlet容器(tomcat)可以部署多个应用(servletContext)
一个应用(servletConetext)可以对应多个servlet(Action)

Http协议

  1. 定义:
    HTTP是HyperText Transfer Protocol即超文本传输协议的缩写,是Web应用层协议之一。

  2. 机制
    基于请求响应机制

  3. 特性
    无状态(没办法维持状态)

①既然HTTP协议的目的在于支持超文本的传输,更加广义一些就是支持资源的传输,那么在客户端浏览器向HTTP服务器发送请求,继而HTTP服务器将相应的资源发回给客户端这样一个过程中,无论对于客户端还是服务器,都没有必要记录这个过程,因为每一次请求和响应都是相对独立的,就好像你在自动售货机前投下硬币购买商品一样,谁都不会也不需要记住这样一个交易过程

②HTTP本身是一个无状态的连接协议,为了支持客户端与服务器之间的交互,我们就需要通过不同的技术为交互存储状态,而这些不同的技术就是Cookie和Session了。

  1. TCP协议
    TCP英文为Transmission Control Protocol ,传输控制协议,位于传输层。
    TCP特性:三次握手四次回收

  2. HTTP和TCP关联
    HTTP是上层的协议,需要下层TCP支持

  3. HTTP报文
    请求行 (请求方法+ URI +Http 协议版本)
    请求头
    请求体
    响应行
    响应头
    响应体

  4. URI和URL
    URL:https://www.baidu.com/index.html
    URI:index.html

  5. HTTP常见的状态码:
  • 1xx 提示信息 继续处理
  • 2xx 成功信息
  • 3xx (例如302)客户端重定向
  • 4xx 客户端错误信息
  • 5xx 服务端的错误

【概念笔记】JavaEE - web part1的更多相关文章

  1. 【概念笔记】JavaEE - web part2

    IT`huhui前言录 续JavaEE - web part1 链接http://www.cnblogs.com/ithuhui/p/5930745.html, 持续修改更新. Cookie 1. 定 ...

  2. javaEE(web)SEO优化 Yahoo军规

    javaEE(web)SEO优化 Yahoo军规 1.尽可能减少HTTP请求数2.使用CDN3.添加Expire/Cache-Control头4.启用Gzip压缩5.将CSS房在页面最上方6.将Scr ...

  3. Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径

    Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径 (2015/07/08更新) JDK下载地址(JDK官网下载地址) 下载地址为:http://www.oracle.co ...

  4. javaee web项目的目录结构

    一般web系统的目录结构如下,其中src下的包结构和webroot下(除meta-inf和web-inf)的文件夹可以根据自己的项目实际调整,但是javaee规范的大目录结构不会变: META-INF ...

  5. go语言,golang学习笔记2 web框架选择

    go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...

  6. Spring实战第六章学习笔记————渲染Web视图

    Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图. ...

  7. 【概念笔记】JAVA基础 - part1

    IT`huhui前言录 这是自己对JAVA基础的一个小总结,会不断完善.因为时间仓促的原因. 每学习一段时间,停下来,静心总结一下,甚好.停停走,走走停,一往无前,不摔倒. 一些链接里面是我看到一些人 ...

  8. 【概念笔记】JAVA基础 - part2

    IT`huhiu前言录 这是续JAVA基础 - part1 链接http://www.cnblogs.com/ithuhui/p/5922067.html的. 笔记慢慢在修改和补充 JAVA里面重要的 ...

  9. 【笔记】web 的回流与重绘及优化

    最近看了幕课网 web 前端性能优化的课程,其中说到了浏览器的回流(reflow) 及 重绘(repaint).觉得以后面试或许会被问到所以做一下笔记: 课程从回流及重绘这两个点延伸出了一个知识点就是 ...

随机推荐

  1. 2016-06-08:Windows中的bat脚本

    涉及循环嵌套,启用变量延时,算术运算 @echo off setlocal enabledelayedexpansion %路径以及文件名等变量设置% set x264_exe=E:\demo\c++ ...

  2. mgo-后续测试(指定字段,获取id)

    测试完mgo中的DBRef后,想接着测试指定字段的显示,才发现原来采用框架编码,很多问题被隐藏了起来: 1.显示指定字段: 之前在使用mgo时一直是查询全部字段,在mongo终端环境写为如下格式: & ...

  3. 块级格式化上下文(block formatting context)、浮动和绝对定位的工作原理详解

    CSS的可视化格式模型中具有一个非常重要地位的概念——定位方案.定位方案用以控制元素的布局,在CSS2.1中,有三种定位方案——普通流.浮动和绝对定位: 普通流:元素按照先后位置自上而下布局,inli ...

  4. 使用GIT进行源码管理——GIT托管服务

    虽然GIT是分布式代码管理,但是仍然需要一个集中存储服务以实现团队协作和代码备份的.对于企业的私有代码来说,大多是自建GIT托管服务.但对于开源项目和个人的私有项目,往往是选择一个GIT托管网站,这样 ...

  5. Excel 数值转换为人民币大写金额字符串

    把$B$27单元格中的数值转换为人民币大写金额字符串: 目标单元格填入以下公式: =IF($B$27=0,CONCATENATE(IF($B$27<=0,,TEXT(INT($B$27),&qu ...

  6. Python学习笔记(三)数据类型

    在内存中存储的数据可以有多种类型,在Python中,能够直接处理的数据类型有以下几种: 数字(Numbers) 字符串(String) 列表(List) 元组(Tuple) 字典(Dictionary ...

  7. android开源框架android-async-http使用

    原文地址:http://www.open-open.com/lib/view/open1369637365753.html android-async-http开源框架可以是我们轻松的获取网络数据或者 ...

  8. dba管理

    ORACLE 锁表的解决方法及查找引起锁表SQL语句方法  1. ORACLE中查看当前系统中锁表情况 select * from v$locked_object 可以通过查询v$locked_obj ...

  9. (四) 一起学 Unix 环境高级编程(APUE) 之 系统数据文件和信息

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  10. dojo 加载Json数据

    1.今天研究了dojo datagrid加载WebService后台传上来的数据.研究来研究去发现他不是很难.用谷歌多调试一下就好了. 2.看很多例子,这个例子能够更好的帮我解决问题:https:// ...