一、服务器,容器(软件)
1、服务器:提供网络访问的程序
2、容器:支持什么技术的服务器就叫做什么容器。比如Tomcat支持Servlet/JSP技术,又称为Servlet容器

二、http://www.apache.org 阿帕奇官网

三、端口
服务器上的每个网络服务程序都对应一个端口。Tomcat默认对应的端口号是8080
Web应用的默认端口号是80
四、TOmcat依赖的JDK
Tomcat6.x之前要求必须安装JDK,之后只要安装JRE就可以了
五、采用解压版本的Tomcat需要配置JAVA_HOME环境变量
Catalina_home(Tomcat的安装根目录)环境变量不建议设置

六、Tomcat的常用目录
1、bin:运行Tomcat的相关命令
2、conf:配置文件所在的目录
3、lib:Tomcat服务器运行依赖的jar包
4、logs:存放启动和运行日志
5、webapps:存放要运行的web应用。该目录中的每一个文件夹都是独立的web应用

七、JavaWeb应用的目录结构
mail -------------javaweb应用的根目录
WEB-INF ----------------javaweb应用中必须有,且必须取名为WEB-INF。放在该目录下的资源,客户端不能直接访问
classes --------------- 存放class文件
lib --------------- 存放该web应用所依赖的jar包
web.xml --------------- web应用的配置文件
八、Tomcat安装目录中lib中的jar为Tomcat和其管理的所有JavaWeb应用服务的。
每个应用中lib中的jar只为当前web应用服务
九、发布JavaWeb应用
1、开放式目录:直接将应用拷贝到webapps目录下
2、war包:进入web应用的目录,执行jar -cvf mail.war .
十、配置虚拟目录:<Context/>元素
1、Context元素:配置单个web应用
path属性:URL访问的入口
docBase属性:web应用的存放路径
reloadable属性:web应用中的资源改动后,是否自动加载。默认值是false
2、配置方式:
a、修改conf/server.xml文件,在Host元素中增加Context元素。不建议使用,因为改动server.xml后,需要重新启动Tomcat才会起作用
b、在Tomcat的安装目录/conf/[enginename]/[hostname]/[appname].xml,appname就是URL访问路径。在该xml文件中增加以下内容
<?xml version="1.0" encoding="gbk"?>
<Context docBase="C:\mail" />
建议大家采用的方式

注:如果想把自己的应用当做默认应用,可以在Tomcat的安装目录/conf/[enginename]/[hostname]/目录中建立ROOT.xml文件。
那么访问这个应用就可以http://localhost:8080/a.html

若想将a.html页面配置成默认主页,需要配置web.xml文件,在其中增加以下内容:
<welcome-file-list>
<welcome-file>a.html</welcome-file>
</welcome-file-list>
那么访问a.html我们只需要输入http://localhost:8080

十一、配置虚拟主机,即配置一个网站
打开conf/server.xml文件,增加<Host/>元素
属性:
name:主机域名
appBase:该主机下的所有应用所在的文件目录

HTTP协议
一、请求消息
1、包含三大部分
1.1请求行:位于请求消息的第一行
格式:请求方式 资源路径 HTTP版本号<CRLF回车换行空格制表符>
常用请求方式:GET和POST方式
1.1.1Get请求方式:
a、若请求服务器上的某个资源,没有指定请求方式,则默认为GET方式
b、可以通过GET方式向服务器传递数据。具体方式就是在URL请求路径后加上?,多个参数以&分割。比如
http://localhost:8080/a.html?username=abc&password=123
注:GET请求方式,数据不安全且有URL长度限制(1K)
1.1.2Post请求方式:
a、若使用Post请求方式传递数据,可以借助form表单的method="post"
b、数据安全,且长度没有限制

1.2若干消息头:从第二行开始到第一个空行。作用:向服务器传递客户端的一些基本信息
a、Accept:浏览器可接受的MIME类型(Tomcat安装目录/conf/web.xml中查找)
b、Accept-Charset:告知服务器,客户端支持哪种字符集
c、Accept-Encoding:浏览器能够进行解码的数据编码方式
d、Accept-Language:浏览器支持的语言。
e、Referer:当前页面由哪个页面访问过来的。
f、Content-Type:内容类型
g、Content-Length:请求正文的长度

1.3请求正文:从第一个空行开始,后面的都是正文。(可以没有)

二、响应消息
1、包含三大部分
1.1状态行:位于响应消息的第一行
格式: HTTP版本号 状态码 原因叙述<CRLF>

1.2若干消息头:从第二行开始到第一个空行
a、Location:制定转发的地址。需与302/307响应码一同使用
b、Server:告知客户端服务器使用的容器类型
c、Content-Encoding:告知客户端服务器发送的数据所采用的压缩格式
d、Content-Length:告知客户端正文的长度
e、Content-Type:告知客户端正文的MIME类型
Conent-Type:text/html;charset=UTF-8
f、Refresh:定期刷新。还可以刷新到其他资源
Refresh:3;URL=otherurl
3妙后刷新到otherurl这个页面
g、Content-Disposition:指示客户端以下载的方式保存文件。
Content-Disposition:attachment;filename=2.jpg
h、Expires:-1
Cache-Control:no-cache
Pragma:no-cache
控制客户端不要缓存

1.3响应正文:从第一个空行开始,后面的都是正文。

J2EE学习笔记(1)相关推荐

  1. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

  2. J2EE学习笔记----java pk .net

    大概五年前,微软发布了.NET Framework,这是Java/J2EE和.NET平台上最流行的几个"专家级"产品之一.从那以来,我一直在讲Java/.NET的协调性.无论我在哪 ...

  3. (J2EE学习笔记)解决Hibernate删除异常:deleted object would be re-saved by cascade

    我们在指定了数据库表的关联映射后,在删除其中一方的的时候,提示了以下异常:deleted object would be re-saved by cascade (remove deleted obj ...

  4. J2EE学习笔记(六)之Spring原理

    Spring框架在项目中可以说是非常常见了,一直以来都只停留在会用的程度上,对原理.概念都了解的很模糊,因此很想找个机会好好梳理一下. 在Spring中有几个比较常见的概念,先理清楚,将会对我们理解框 ...

  5. Java程序设计学习笔记(一)

    时间:2015-6-2 23:04 程序员,程序猿,程序媛,码农  ------------------------------------------------------- --Java的应用领 ...

  6. springmvc学习笔记--Interceptor机制和实践

    前言: Spring的AOP理念, 以及j2ee中责任链(过滤器链)的设计模式, 确实深入人心, 处处可以看到它的身影. 这次借项目空闲, 来总结一下SpringMVC的Interceptor机制, ...

  7. 1.5 Hello, world! 解剖 -JSF实战 -hxzon -jsf学习笔记

    为什么80%的码农都做不了架构师?>>>    1.5 Hello, world! 解剖 -JSF实战 -hxzon -jsf学习笔记 既然已经对JSF能够解决什么问题有了初步理解, ...

  8. Servlet学习笔记 Servlet原理

    Servlet学习笔记 Servlet原理 一.Servlet基础 1.Servlet执行过程 用户请求一个Servlet,Servlet容器自动构建请求和响应对象,然后执行Servlet的servi ...

  9. JProfiler学习笔记

    JProfiler学习笔记   一.安装JProfiler        从http://www.ej-technologies.com/下载5.1.2并申请试用序列号   二.主要功能简介 1.内存 ...

最新文章

  1. hdu 4747 mex 线段树+思维
  2. 使用管控策略,设定多账号组织全局访问边界
  3. 深入浅出谈CUDA(二)
  4. 实验五 网络编程与安全
  5. shiro filter
  6. [转]用Gmail账户来代替Sharepoint邮件配置
  7. 使用kubeadm安装kubenetes
  8. K-Means与KNN比较
  9. How to Become a Better Learner
  10. 深入浅出 HTTP协议
  11. 关于解决国内手机号不能用于gmail邮箱注册问题
  12. java随机生成随机整数_java生成随机整数
  13. 求解斐波那契数列模$p$意义下最短循环节
  14. 激光测距望远镜方案介绍
  15. DOM 树的解析渲染
  16. 教师资格证面试中职专业课计算机应用,中职专业课及中职实习指导教师资格面试大纲(试行)...
  17. [leetcode] 28. Implement strStr() 解题报告
  18. python读取odb_Python提取Abaqus ODB中的场变量(Field output)与历史变量(History output)方法...
  19. C/C++教程 第九章 —— windows编程入门
  20. windows清理_推荐一款Windows磁盘清理工具

热门文章

  1. 公司采购 流程flowable例子
  2. Hello工作室制作《无人深空》更新档
  3. 使用Python内置浏览器缓存cookies并做更新
  4. 聊聊Spring Data Auditable接口的变化
  5. iOS 搭建XMPP环境时添加依赖库报错及解决
  6. 大前端之前后分离02】前端模板嵌套问题
  7. 图两点间的最短路径,所有路径算法C语言实现
  8. Scala 专题指南
  9. [转载][奇文共赏].由入门到精通 - 吃透PID2.0.PDF
  10. 域中添加电脑提示重名