传智播客168期JavaEE就业班(第八天 WEB简介 Tomcat)
* 课程回顾:
* java基础加强
* MyEclipse的简介
* cn.itcast.xxx创建的包
* 创建类 User
* 方法 runDemo()
* DeBug调试(断点调试)
* 打断点。选择DeBug As
* Step Over 跳过 F6
* Resume 执行下一个断点,如果没有断点,执行完成。F8
* Step Into 跳入 F5
* Step Return 跳出 F7
* Drop To Frame 返回到最开始位置
* JUnit 单元测试
* 测试一个方法。
* 使用的JUnit4的版本。导入jar包。myeclipse直接引入即可。
* @Test第一次导包。
* @Test 测试
* MyEclipse快捷建
* JDK5.0的特性
* 泛型
* 应用在集合上。
* 编写通用性较强的代码。
* 自定义泛型方法和类
public <T> void run(T t){
T t
}
* 枚举
enum 类名称{
BOSS("红色"),HR;
}
* 静态导入(鸡肋)
* 增强for循环
for(数据类型 变量 :要循环的内容){
}
* 可变参数
* int...nums
* 可以nums当成数组。
* 只能有一个可变参数,可变参数放在末尾。
* 反射
* 通过.class文件获取类中的所有的内容。
* 先获取Class对象
* 类名 User.class;
* 实例对象 new User().getClass();
* Class.forName("类的包名+类名");
* 构造器、属性、方法。获取到都是对象。
==============================================================================================================
* 作业:
* WEB的学习
* 服务器
* 网络的架构(面试题)
* C/S client/server 客户端/服务器端 例子:QQ 快播 暴风影音
* 优点:交互性好,服务器压力小。
* 缺点:客户端更新了,下载。
* B/S browser/server 浏览器/服务器端 例子:购物网站 12306
* 缺点:服务器压力大。
* 优点:服务器更新就ok。
* WEB网页 javaweb 使用java开发网页。
* 静态的web资源
* HTML、CSS、JAVASCRIPT
* 动态的web资源
* 数据发生变化。例子:
* Servlet/JSP
* ASP .net 微软开发
* PHP 开源(开发网站那速度真快),提供模板。
* RUBY 小日本开发的。
* JAVA做什么?后台的管理系统,处理大数据。
* 服务器的介绍
* 原理:网络编程。
* 概念:
* 硬件:就是一台主机。
* 软件:安装了服务器的软件(tomcat)。
* 安装软件后,称为WEB服务器。
* 启动服务器,访问资源。
* 访问:http://+ip+端口号 找到主机。如果资源的文件,就可以访问了。
* 访问百度:http://www.baidu.com/
* HTTP协议默认端口号是80,可以不写。
* ping www.baidu.com 61.135.169.121
* 如果想访问本机的服务器(扩展)
* http://localhost:80
* http://127.0.0.1:80
* 常见服务器
* WebLogic BEA公司开发的(被Oracle收购了) 收费的 支持JAVAEE所有的规范(EJB servlet/jsp规范)
* (JAVA MySql(Oracle) WebLogic)
* WebSphere IBM公司开发的 收费的 支持JAVAEE所有的规范(EJB servlet/jsp规范)
* 银行喜欢用
* Tomcat apache(开源的组织,非常的伟大)只支持Servlet/Jsp规范。免费的。
* Tomcat的安装和注意事项
* (前提条件)安装JDK,配置java的环境变量。
* 安装版(给客户用)
* 解压版:解压当前文件夹,目录不要有中文。
* 启动服务器:tomcat/bin/startup.bat(启动服务器)
* 访问:http://localhost:8080访问服务器的主页。
* 关闭服务器:点关闭按钮,shutdown.bat
* 常见启动问题
* 配置环境变量。C:\Program Files (x86)\Java\jdk1.6.0_16
* 一闪而过,环境变量没配置好。
* 端口占用问题
* java.net.BindException: Address already in use: JVM_Bind
* 端口被占用。
* 解决问题:
* 结束掉占用端口的应用程序。
* 找到占用端口的应用程序。
* 通过命令 netstat –ano 找到占用端口的服务的PID,在任务管理器中结束程序。
* 修改端口号。
* 修改配置文件了。
* tomcat/conf/server.xml配置文件
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
* 有应用程序占用80端口,用上边的方式解决。
* 有的WIN7系统自带World wide web publish IIS服务,默认占用80端口。
* 如果有。去服务中,改手动启动。
* 概率非常小。操作系统占用80端口。
* Tomcat目录结构
* bin(**) 启动项,关闭项。
* conf(*****) 里面Tomcat配置文件
* lib(**) 服务器运行使用的jar包
* logs(***) 日志文件,运行时产生的日志。
* temp(**) 运行时临时文件
* webapps(*****) web applications(web的应用们)
* work(*****) JSP翻译成Servlet程序
* 如果动态的WEB资源,把WEB资源发布到服务器的webapps目录下的时候,有固定的目录结构。
* 静态的web资源
* HTML、CSS、JAVASCRIPT
* 动态的web资源
* 数据发生变化。例子:
* Servlet/JSP
* 开发动态的WEB资源程序,目录结构如下(必须记住)
* Servlet/JSP只要包含,就称为动态的WEB资源
website
| --- 存放 HTML CSS JAVASCRIPT JSP 图片
WEB-INF
|
web.xml 程序的入口。配置文件(必须有的)
classes 文件夹,名称固定的 可选的
lib 文件夹,名称固定 可选的
* Tomcat和MyEclipse的集成
* window -- 选项 -- MyEclipse -- servers -- 选择tomcat -- 选择Enable -- 选择tomcat根目录
* 配置JDK -- 选择JDK。
* 启动服务器。
* 虚拟路径(访问路径)
* 默认和项目名称是相同(不要去修改)。
* WebRoot变成了虚拟路径(访问的路径)
* 直接复制项目,需要修改虚拟路径。
* 项目上右键 -- 选择属性 -- MyEclipse -- web -- 修改虚拟路径。
* 扩展
* window -- show view -- servers
* Tomcat管理员的配置(了解)
* 在tomcat/conf/tomcat-user.xml
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
* 如何部署WEB程序(三种)
* 项目复制到webapps目录下。
* 通过配置虚拟路径的方式。
* 直接修改配置文件
* 写到tomcat/conf/server.xml
* 找到<Host>标签,配置到Host标签的中间
* 目的:通过配置,配置访问路径,准确找到c:\bb的文件
* <Context docBase="文件夹的真实目录" path="虚拟路径(访问路径)" ><Context>
* <Context docBase="C:\bb" path="/itcast" ></Context>
* 访问:http://localhost:80/itcast
* 自己编写一个配置文件(格式)(推荐使用)
* 自定义xxx.xml结尾文件,在$CATALINA_HOME/conf/[enginename]/[hostname]/ directory.目录下。
* 把xxx当成虚拟(访问)路径。
* 在xml的文件中编写。
* 在哪个目录下:
* $CATALINA_HOME/conf/[enginename]/[hostname]/ directory.
* 如果找引擎的名称和主机的名称,在server.xml中找。
* tomcat/conf/Catalina/localhost/ccc.xml
* ccc.xml的文件编写什么内容?
* <Context docBase="C:\cc"></Context>
* 访问:http://localhost:80/ccc
* 配置虚拟主机(了解)
* HTTP的协议
* 啥是HTTP的协议:超文本传输协议。
* 基于TCP链接的传输协议。
* HTTP协议默认是80
* 基于请求和响应的模式。(先有请求,后有响应)
* www.baidu.com(访问百度的服务器)
* 百度的首页返回给我
* 客户端连上web服务器后,若想获得web服务器中的某个web资源,
需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式
* 使用telnet命令,快速了解http协议。
* 如果是win的系统,开启telnet的命令。
启动服务器.
cmd>telnet localhost 80 回车
telnet命令有一个乱码问题 解决乱码.
解决 ctrl+] 回车
注意:命令行中输入的内容不能写错,一旦写错了,不支持删除。
请求:
GET /aa/1.html HTTP/1.1
host:localhost
输入两次回车
* 使用telnet命令发送了一次请求
* 请求:
GET /aa/1.html HTTP/1.1
host:localhost
* 响应:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
ETag: W/"21-1416624196782"
Last-Modified: Sat, 22 Nov 2014 02:43:16 GMT
Content-Type: text/html
Content-Length: 21
Date: Sat, 22 Nov 2014 07:33:53 GMT
<h1>hello java!!</h1>
* HTTP协议的版本
* HTTP/1.0
* 链接后,只能获取一个web资源。
* 链接后,发送请求,服务器做出响应,链接立即断开。
GET /aa/1.html HTTP/1.0
host:localhost
* HTTP/1.1(使用)
* 链接后,可以获取多个web资源。
* 链接后,发送请求,服务器做出响应,链接不会立即断开。
再次发送请求,直到有一段时间没操作,自动断开。
GET /aa/1.html HTTP/1.1
host:localhost
* 请求:
* 请求行
* 请求方式
* POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
* 常用post和get
* 区别:
* get把参数显示在地址栏上,安全级别低,不支持大数据。
* post把参数封装请求体中,安全级别高,支持大数据。
* 请求地址
* 请求资源
* 协议版本
* HTTP/1.1
* 请求头
Accept: text/html,image/*
Accept-Charset: ISO-8859-1
Accept-Encoding: gzip
Accept-Language:zh-cn
Host: www.itcast.com:80
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
Referer: http://www.itcast.com/index.jsp
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
* 重要的头
* If-Modified-Since 必须和响应头信息一起来完成控制本地的缓存。
* Referer 当前的网页的来源。(防止盗链)
* User-Agent 判断浏览器的版本(文件下载的时候)
* 空行
* 请求体
* 封装post参数列表。
* 响应
* 响应行
* 协议版本
* HTTP/1.1
* 状态码
200 :请求成功处理,一切OK
302 :请求重定向
304 :服务器端资源没有改动,通知客户端查找本地缓存
404 :客户端访问资源不存在
500 :服务器内部出错
* 状态码描述
* 响应头
Location: http://www.it315.org/index.jsp
Server:apache tomcat
Content-Encoding: gzip
Content-Length: 80
Content-Language: zh-cn
Content-Type: text/html; charset=GB2312
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT
Refresh: 1;url=http://www.it315.org
Content-Disposition: attachment; filename=aaa.zip
Expires: -1
Cache-Control: no-cache
Pragma: no-cache
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
* 重要的头
* Location 和302一起完成重定向。
* Last-Modified 和请求头If-Modified-Since一起控制缓存。和状态码304
* Refresh 完成页面的定时跳转
* Content-Disposition 设置文件是以附件打开
Expires: -1
Cache-Control: no-cache
Pragma: no-cache
* 禁用缓存(网银系统)
* 空行
* 响应体
* 存放真正的数据。
* 扩展:
转发:找班长借钱,他自己找富班长借钱,
重定向:(找班长借钱,发送一次请求,回了我没钱,返回状态码302,给副班长地址,再去找富班长借钱,又发送了一次)
传智播客168期JavaEE就业班(第八天 WEB简介 Tomcat)相关推荐
- 传智播客35期JavaEE工程师从基础到实战视频
[No26]传智播客35期JavaEE工程师从基础到实战视频 就业班课程目录: day01_html编程 day02_css编程 day03_javascript基础 ...
- 传智播客超级设计师在线就业班招生啦
好消息!即日起传智播客超级设计师在线就业班开始招生啦! 仅需2个月,让你成为名符其实的超级设计师!平面设计.电商设计.UI设计技能--样样拿得出手!你愿不愿意? 不再受地点.课堂的限制,充分利用自己的 ...
- 传智播客上海java培训就业班 视频教程
传智播客上海java培训就业班 视频教程 传智播客上海java培训就业班 视频教程 传智播客上海java培训就业班 视频教程 下载地址:百度网盘
- 2014传智播客C++第三期基础班+就业班至9月份 完整版
课程简介: 第一阶段C语言10天 (此阶段兼顾基础班升级学员与直接报就业班学员,突出面试辅导为主) 1.常量与变量,数据类型,数据类型转换,数据输入与输出(面试辅导); 2.C语言运算符,C语言操作符 ...
- 传智168期JavaEE就业班 day05-XML 约束与解析
* 课程回顾: * DOM解析HTML简介 * DOM 文档对象模型 * 解析器 * document对象 * getElementById("id的值"); 返回一个元素(标签) ...
- 成都传智播客php培训课程介绍
2014年7月,传智播客php学科将落户成都,即日起至7月25日,凡报名成都传智播客首期php就业班的学员,可以免费学习基础班,就业班学费在原价基础班再减2000元,没有比这个更优惠的了! Php基础 ...
- 传智播客强势进入php领域
随着移动互联网的兴起,中国互联网行业进入了高速发展的势态,成熟的PHP互联网开发语言被全球知名网站(如:新浪.百度.腾讯.TOM等)广泛用于网站前端开发.当前,互联网行业正向更加智能化的Web3.0时 ...
- 传智播客 .NET面试宝典(2015版)
.Net工程师面试笔试宝典 培训班常见问题 1.你们会带着我们做完整个完整的项目吗? 答:小的项目会,大的项目则不可能, 1.众所周知,随便拿出一个中等大小的项目,也需要好多个熟练的开发人员开发好多个 ...
- 传智播客 .NET面试宝典(2014版)
.Net工程师面试笔试宝典 由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一天两天就看完和学完这套面试宝典,即使你已经学过了有关的技术,那么至少也需要一个月的时间才能消化和掌握这套面试宝典,所以 ...
最新文章
- bootstrap 垂直居中 布局_给你一份详细的CSS布局指南,请查收
- python:__new__()与__init__()
- EclipsePHP Studio 2008快捷方式
- Hadoop分布式集群搭建详细过程
- 嵌入式实时操作系统ucos-ii_「正点原子NANO STM32开发板资料连载」第三十六章 UCOSII 实验 1任务调度...
- 福建水院计算机一级清考,取消毕业“清考”大学生还敢混日子吗
- SpingMVC之拦截器
- windows系统服务器打补丁,给Windows打补丁太难?2招搞定
- html 打开 app,h5页面打开app
- FDDB数据集标注文件:椭圆转换矩形
- OBJ 模型文件与MTL材质文件 介绍
- 网易云热评 《十年》
- Online Judge系统大全
- P1308 [NOIP2011 普及组] 统计单词数
- Java笔记:面向对象3大特性
- 无理数取模(二次剩余)
- Tomcat:Tomcat网站上的core和deployer的区别
- 【前后端分离登录流程】
- 小猿圈python学习-Selenium爬虫之使用代理ip的方法
- 《深度学习》(美)Ian Goodfellow 花书简要笔记(第二部分:深度网络)
热门文章
- 手机adb connect ip连接 usb调试
- 年轻人低成本创业项目合作协议样本
- mysql1414,Error Code: 1414. OUT or INOUT argument 2 for routine compan
- Splay入门解析【保证让你看不懂(滑稽)】
- 1. 创建逻辑卷vshare,卷组的名称为devgroup,PE的大小为16M,共使用50个PE块,文件系统为vfat,要求永久挂载到/mnt/vshare目录下。
- 服务器怎么在手机操作系统,手机可以操作云服务器吗
- QT表格TableView文本颜色的设置
- SQL Server主从数据库同步
- [RK3288][Android7.1]调试笔记 --- 解决主板HDMI接口输出给个别电视机无声音问题
- [Alpha阶段]项目展示博客