07 JavaWeb
* C/S client/server 客户端/服务器 例子:QQ 快播 暴风影音...
* 优点:交互性非常好,服务器压力小。
* 缺点:客户端软件,下载客户端软件。
* B/S Browser/server 浏览器/服务器 例子:购物网站 12306购票 淘宝
* 缺点:交互性不好(ajax),服务器压力大。
* 优点:服务器端进行更新,打开浏览器刷新。
Web开发的相关知识
* 静态的WEB资源
* HTML CSS JAVASCRIPT
* 动态的WEB资源
* Servlet/JSP SUN提供了
* ASP 微软
* PHP 模板(mysql php )
* RUBY 日本
* JAVA: 处理大数据。淘宝。
* 服务器的概念:
* 底层原理:网络编程。
* 硬件:一台主机。
* 软件:安装服务器软件。
* 访问:
* ip+端口号
* 119.75.217.56 -- 域名
* 常见的服务器
* WebLogic BEA的公司开发 但收费 支持JAVAEE的所有规范。被oracle收购(sun(java) mysql(数据库) WebLogic)
* WebSphere IBM的公司开发 但收费 支持JAVAEE的所有规范。
* Tomcat apache(开源组织,非常伟大)支持Servlet/JSP的规范。
使用tomcat的6.x的版本
* 前提条件:安装JDK,配置JAVA_HOME
* 安装tomat,(解压版),启动服务器:tomcat/bin/startup.bat。双击启动了。C:\Program Files (x86)\Java\jdk1.6.0_16
* 如果黑色窗口一闪而过,需要配置JAVA_HOME。
* 常见的启动问题
* 安装JDK,配置JAVA_HOME
* 端口占用的问题。
* 端口被占用。
* java.net.BindException: Address already in use: JVM_Bind
* 解决问题:
* 在dos窗口中输入 netstat -ano命令,查找8080端口,找到PID
* 任务管理器结束PID就OK了。
* 修改tomcat服务器的端口号。修改tomcat的配置文件。
* tomcat/conf/server.xml修改tomcat的端口号。
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
* 重新启动服务器。
* 带 World wide web publish IIS服务。
* tomcat的目录结构
* bin(**) 存放批处理的文件
* conf(*****) tomcat配置文件
* lib(***) 存放jar包
* logs(***) 日志
* temp(**) 临时文件
* webapps(*****) web applications存放项目的
* work(*****) jsp的时候,翻译serlvet
* 开发一个动态的WEB资源,固定的目录结构
* 在webapps的目录下,创建一个目录。
website
| --- 静态的页面(HTML CSS JAVASCIPT JSP)
| --- WEB-INF
| --- web.xml 配置文件 必须有的
| --- lib (文件夹,第三方的jar包) 可选的
| --- classes (文件夹,存放.class文件) 可选的
myeclipse配置tomcat
* window -- 选择 -- (搜索servers)MyEclipse -- Servers -- tomcat -- 选择tomcat6.x的版本
* 选择Enable -- 配置tomcat的路径 -- 选择tomcat的根路径
* 配置JDK(点tomcat的+号) -- 配置JDK -- 选择JDK就ok了。
* 新建的WEB项目,部署tomcat服务器中,启动服务器。
* 虚拟路径:访问路径(项目名称)。
* 直接复制web项目,修改虚拟路径。
* 右键 -- 属性 -- MyEclipse -- web -- 修改虚拟路径。
* tomcat管理员的配置(了解)
* 在tomcat/conf/tomcat-user.xml
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
* 部署web应用程序(三种方式)(重点)
* 直接复制项目到webapps目录下。
* 通过conf/server.xml中配置虚拟路径的方式(开发中使用,但是tomcat不推荐使用)
* 标签<Context docBase="项目的真实路径" path="访问路径" ></Context>
* Context需要配置Host标签下。
* 在指定的文件夹下编写 xxx.xml,把xxx作为访问路径。(推荐使用的)
* 在哪个文件夹下:($CATALINA_HOME/conf/[enginename]/[hostname]/ directory.)
* tomcat/conf/Catalina/localhost/xxx.xml
* 编写的xml:
* <Context docBase="项目的真实路径" ></Context>
* 通信
* 百度的ip:119.75.217.56
* 翻译ip,先去自己的电脑hosts文件,如果找不到,网络上。
* 了解配置虚拟主机。
* 先找到hosts文件。C:\WINDOWS\system32\drivers\etc\hosts 修改为: 127.0.0.1 www.baidu.com
<Host name="www.taobao.com" appBase="C:\taobao"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="\mytaobao" path="/" ></Context>
</Host>
* 协议:遵循一定规范的数据格式。
* 特点:
* 基于请求和响应的模式。(先有请求再有响应)
* 基于tcp的链
* 默认端口是80
* 使用telnet命令完成http入门
* 开启telnet命令。
* telnet localhost 80
* 会产生乱码,解决问题:ctrl+],回车。
* telnet命令,不支持删除。
* 服务器发送一次请求
GET /aa/1.html HTTP/1.1
host:localhost
* 服务器做出了响应
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
ETag: W/"20-1413703905727"
Last-Modified: Sun, 19 Oct 2014 07:31:4
Content-Type: text/html
Content-Length: 20
Date: Sun, 19 Oct 2014 07:37:51 GMT
<h1>hello world</h1>
* HTPP协议的版本(面试题)
* HTTP/1.0
* 发送一次请求,拿到web资源后,链接会自动断开。
* HTTP/1.1
* 发送一次请求,拿到web资源后,链接不会断开,如果长时间不操作,会自动断开。
GET /aa/1.html HTTP/1.0
host:localhost
GET /aa/1.html HTTP/1.1
host:localhost
* 请求:
* 请求行:
* 请求方式
* POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
* 常用post和get
* 区别:....
* 请求路径
*
* 协议版本
* 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提交时,保存参数列表的。
* 响应:
* 响应行
* 协议版本
* 状态吗
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完成重定向的操作
* Content-Type
* Last-Modified 根请求头一起来完成控制缓冲的操作
* Refresh 完成页面的定时刷新
* Content-Disposition 做下载功能时,必须使用该头。
Expires: -1
Cache-Control: no-cache
Pragma: no-cache
* 禁用浏览器的缓冲。
* 空行
* 响应体:服务器向客户端响应的所以内容。
07 JavaWeb的更多相关文章
- JavaWeb学习总结-07 Filter 学习和使用
一 Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...
- JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)
一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...
- JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet
一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: 1 <servlet> 2 <servlet- ...
- 阿里云 centos 部署javaweb 应用
今天在阿里云上部署了个javaweb应用,在此记录下步骤,以供下次使用. 服务器版本: 1.root登陆服务器 2.服务器安装FTP服务,或者直接使用winscp上传文件(简单),本文介绍安装FTP服 ...
- Linux下javaweb
Linux下javaweb环境搭建 步骤: 1.使用远程工具连接上服务器,例如xsheel(ssh).filezilla(ftp) 2.JDK安装及相关配置 3.Mysql安装及相关配置 4.Tomc ...
- javaWEB总结(12):JSP页面的九个隐含对象
前言 jsp本质上是一个servlet,而在jsp中有九个不用声明就可以使用的对象,我们叫他隐含对象.本文基于上文所写,如有需要可查看上一篇文章javaWEB总结(11):JSP简介及原理. 打开上次 ...
- Javaweb 第7天 Servlet课程
Servlet课程 三日大纲 ● 网络概念,专业术语 ● Tomcat使用,发布网站,使用Myeclispe发布网站(搭建环境) ● 编写Servlet,Servlet生命周期 ● 用户注册,显示所有 ...
- javaWeb学习总结(1)- Tomcat服务器学习和使用(2)
一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...
- javaweb部署多个项目(复制的项目)
最近需要在一台服务器部署两个已经编译完了的javaweb项目,但是因为项目名一样,仅修改文件夹的名字无法实现两个项目共存,最后只能考虑采用部署多个tomcat服务器的方法来实现.搜索后终于找到个好方法 ...
随机推荐
- 【processing】小代码2
函数: 绘制直线自由图形: beginShape(), vertex(), endShape() 分别是绘制图形开始,连接图形的节点,绘制结束 endShape(CLOSE)表示闭合图形. 绘制曲线边 ...
- python基础——map/reduce
python基础——map/reduce Python内建了map()和reduce()函数. 如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Pro ...
- JDK、Jmeter、Android环境变量配置
JDK环境变量 1.在系统变量里点击新建,变量名填写JAVA_HOME,变量值填写JDK的安装路径,在这里就填写"D:\Program Files\Java\jdk1.6.0_26" ...
- JavaScript的内置对象和浏览器对象
在javascript中对象通常包括两种类型:内置对象和浏览器对象,此外,用户还可以自定义对象. 对象包含两个要素:1.用来描述对象特性的一组数据,也就是若干变量,通常称为属性.2.用来操作对象特性的 ...
- Android -- Looper、Handler、MessageQueue等类之间关系的序列图
原文:Android源码解析之(二)-->异步消息机制 通过阅读文章及其中提到的一些参考文章,模模糊糊的理解了Android的异步消息机制.为了能够进行消化吸收,决定把各类之间的交互通过图的形式 ...
- tar 打包文件 除某个文件夹
tar -cvf test2.tar --exclude=test/test10 test/
- Java 8新特性
Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码:其次,新加入的Nashorn引擎也使得Java程序可以和JavaScript代码互操作:再者,新的日期时 ...
- 【JAVA中String、StringBuffer、StringBuilder类的使用】
一.String类概述 1.String对象一旦创建就不能改变. 2.字符串常量池. 字符串常量池的特点:池中有则直接使用,池中没有则创建新的字符串常量. 例1: public class Strin ...
- 图结构练习——最短路径(floyd算法(弗洛伊德))
图结构练习——最短路径 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个带权无向图,求节点1到节点n的最短路径. 输 ...
- 使用html5 canvas绘制圆形或弧线
注意:本文属于<html5 Canvas绘制图形入门详解>系列文章中的一部分.如果你是html5初学者,仅仅阅读本文,可能无法较深入的理解canvas,甚至无法顺畅地通读本文.请点击上述链 ...