一:Web介绍

1.Web:网页,网络

2.Web应用:运行在网络上的应用程序

3.网络应用程序分类:C/S B/S

  1. C/S 客服端(client)/服务器(server) 典型应用:QQ,YY
  2. B/S 浏览器(browser)/服务器(server) 典型应用:sina,baidu
  3. C/S的优点:
  4. a.个性化更容易实现
  5. b.更安全
  6. c.占用网络资源少
  7. B/S的优点:
  8. a.更新方便
  9. b.使用方便,到处可以使用
  10. c.几乎不占用本地资源

4.B/S结构的模型:

  1. 浏览器 --请求:网络地址(url)--> 服务器
  2. 浏览器 <--响应:请求结果(html)-- 服务器
  3. 服务器:从两个方面来说的;
  4. 硬件服务器:就是一台强大的电脑
  5. 软件服务器:通过软件提供某一类服务的.如:数据库服务器,Web服务器,
  6. 这里主要讨论Web服务器

5.浏览器和服务器之间的对话如何开始的?

  1. 1)浏览器要知道服务器的地址,和浏览器想要的内容.(请求:rul)
  2. 2)浏览器和服务器要说同一种语言(HTTP)
  3. HTTP:hyper text transport protocal 超文本传输控制协议;
  4. 浏览器:向服务器发送请求,并对服务器响应的结果进行展示
  5. 服务器:接受浏览器请求,并对浏览器的请求进行结果响应

6.如何对话?

  1. 1)在浏览器地址栏输入url
  2. 注:服务器在接受到浏览器的请求后,会对请求进行处理,并响应结果(html)
  3. 2)浏览器接受服务器响应结果(html)后,会将结果进行显示(网页)

7.Web应用程序:

  1. 静态网站:html语言编写,放在web服务器,用户发出请求,服务器处理请求并响应
  2. 动态网站:html语言和动态脚本语言(JSP,ASP,PHP)编写,部署到服务器上,服务器对脚本语言处理,转化为html代码
  3. 动态网页是指具有交互性,内容可以自动更新,并且内容会根据访问的时间和访问者而改变的网页.

8.Web应用程序的目录结构

  1. Web应用程序: D:\tomcat7\webapps目录下
  2. WEB-INF目录:web应用配置目录,不能被客户端访问
  3. classes目录:存放java字节码的文件
  4. lib目录:存放web应用所需的jar
  5. web.xml文件:存放web应用的部署描述文件,该文件包含web应用的源数据信息

9.http协议

url通常由4个部分组成,url格式如下:

  1. 应用层协议:// 主机ip地址或web服务器域名:协议端口号 / 资源所在路径 / 文件名
  2. 端口:一个ip地址的端口可达65536个之多,端口号只有整数,范围从065535,修改过端口号后需要重新启动tomcat服务器
  3. 80端口是http协议默认的端口,在访问网络地址时可以省略该端口号; tomcat默认的服务端口为8080

http协议:如何在网络上传输超文本(html文档)的协议; 浏览器发出http请求,服务器做出http响应

http处理流程:

  1. a.客户端和web服务器建立连接
  2. b.发送请求
  3. c.接受请求,生成http响应并发送给客户端
  4. d.服务器关闭连接,客户端接受服务器端的响应,恢复页面(关闭连接后,不再存储连接信息,即http协议称为无状态协议)

http请求方式:

get请求方式:

  1. 仅能传送文本给服务器;
  2. 提交的数据会暴露再地址栏,不安全;
  3. 提交的数据不能超过2kb

post请求方式:

  1. 可以传送二进制数据,如音频,视频等文件
  2. 提交的数据不会暴露再地址栏,安全性高
  3. 提交的数据无限制

表单通过method属性来指明使用哪种请求方式,默认是get请求方式

二:tomcat

1.Web服务器:接受浏览器请求,进行结果响应

2.常见的Web服务器:Tomcat(apache), Weblogic, Websphere, Resin, JBoss 与 Jetty 联合使用

3.Tomcat下载

  1. 下载地址:www.apache.org

4.安装:

版本:安装版(需安装jdk,next,next...)

解压版(绿色版 推荐--配置)

需要配置环境变量:JAVA_HOME,CATALINA_HOME(tomcat目录)

5.启动:执行tomcat7\bin\startup.bat

6.验证:在浏览器:http://localhost:8080

7.常见的错误:

1)tomcat与windows都是64位的,jdk是32位的

  1. cmd: java -version :检查jdk版本

2)执行startup.bat一闪而过

  1. tomcat.apache.org -Which version? :检查jdk版本和tomcat版本是否匹配
  2. 也可以在dos命令行去执行startup.bat命令;会将相关信息显示到dos窗口,
  3. 进而根据dos窗口的提示解决问题
  4. 例:jdk8,tomcat8一闪而过
  5. Dos窗口提示配置环境变量:CATALINA_HOME
  6. 配置CATALINA_HOME:tomcat_home(在bin目录的上一级)
  7. 系统-->环境变量-->新建-->CATALINA_HOME-->D:\tomcat7

3)正常启动,但是不能访问?

  1. 原因:启动后关闭窗口
  2. 解决:重新打开,别关闭
  3. 如何将tomcat启动,设为从服务启动?
  4. cmd: D:\tomcat7\bin (切换到这个目录)
  5. 安装: 输入:service install tomcat7Test (tomcat7Test是服务名,可以随便取值,默认为tomcat7)
  6. service install
  7. 移除: 输入:service remove tomcat7Test(服务名)
  8. service remove

4)Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]

  1. java.lang.Exception:Socket bind failed:[730048]
  2. 原因:端口号8080被占用
  3. 解决:
  4. A)将tomcat端口号改变.
  5. Tomcat安装目录:conf\server.xml71
  6. <Connector port="8080" protocol="HTTP/1.1"
  7. connectionTimeout="20000"
  8. redirectPort="8443" />
  9. 8080改为其它端口,端口号可以是0-65535之间,建议大于1024
  10. B)将占用8080端口的应用关闭
  11. cmd:netstat -ano
  12. 查看到占用端口的对应应用的进程编号:pid
  13. 进入任务管理器--详细信息 找到后结束对应应用

8.关闭:执行bin/shutdown.bat (建议)

9.分析tomcat目录结构:

  1. bin:存放常用的命令文件
  2. conf:存放配置文件
  3. lib:存放jar
  4. logs:存放日志文件
  5. temp:存放临时文件
  6. webapps:存放web应用程序(默认web应用发布目录)
  7. work:存放由各种JSP所生成的Servlet文件(存放编译,运行后的文件)
  8. conf里的配置文件:
  9. context.xml 配置上下文环境,如JNDI,连接池
  10. server.xml 配置服务器的信息,还有一些应用信息如端口号,虚拟路径
  11. web.xml web应用服务的部署文件(查)
  12. tomcat-users.xml 配置tomcat用户

10.如何在tomcat中部署一个应用

  1. 直接将静态项目放入webapps目录下,直接访问即可
  2. http://localhost:8080/exam/zhuye.html
  3. http://127.0.0.1:8080/exam/zhuye.html
  4. http://192.168.11.236:8080/exam/zhuye.html
  5. HTTP:协议 localhost:服务器ip地址或域名 8080:端口号 exam:项目名 zhuye.html:主页名
  6. cmd:ipconfig/all ping www.jd.com
  7. 本机ip:111.176.55.48
  8. 讯腾本地局域网ip:192.168.11.236

11.url分析

  1. http://localhost:8080/exam/zhuye.html
  2. http协议是在tcp/ip之上
  3. localhost:域名,域名就是ip的别名,比ip地址好记
  4. localhost的配置:C:\Windows\System32\drivers\etc\HOSTS文件
  5. 端口号:http默认端口是80端口.在开发中一般会指定位其它端口.
  6. 当项目名指定为根(ROOT)时,那么不用在url上写项目名称.
  7. 主页名(资源名):可以配置默认资源名(url上也可以不用写):在项目中添加项目部署文件
  8. 在项目的根目录添加WEB-INF目录,在WEB-INF目录添加web.xml文件.(web.xml可以去其它项目拷贝)

12.配置虚拟路径(配置tomcat虚拟发布目录,默认发布目录是webapps文件夹):

  1. 修改:Conf/server.xml
  2. 在倒数第四行内,在<host>标签下配置<Context>子元素,使用子元素中相关属性配置tomcat虚拟发布目录:
  3. <Context path="/pro" docBase="E:\javaWeb\HTML\HtmlProject\project" />
  4. path指定访问web应用的rul入口(rul中的项目名),docBase指明项目存放位置
  5. 清理浏览器缓存:ctrl+shift+delete

三:Myeclipse配置tomcat

Myeclipse配置tomcat:

  1. a.window-preference-Myeclipse-server-tomcat 找指定版本
  2. b.启动tomcat服务

MyEclipse开发java web程序流程:

  1. 1.新建Web Project项目
  2. 2.添加一个html页面(WebRoot文件下)
  3. 3.部署web项目(将web项目部署到tomcat容器中)
  4. 4.运行web项目(启动服务,访问web应用程序)
  5. 访问web应用程序的url格式为http://host:port/project/page
  6. host:主机名(localhost) 本机ip地址(127.0.0.1)
  7. port:端口号,默认是8080
  8. project:部署的项目名称
  9. page:访问的页面

一:Web的更多相关文章

  1. C# Web应用调试开启外部访问

    在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用.这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用. 目录 1. 设置内网访问 2. 设 ...

  2. 网页提交中文到WEB容器的经历了些什么过程....

    先准备一个网页 <html><meta http-equiv="Content-Type" content="text/html; charset=gb ...

  3. 闲来无聊,研究一下Web服务器 的源程序

    web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...

  4. java: web应用中不经意的内存泄露

    前面有一篇讲解如何在spring mvc web应用中一启动就执行某些逻辑,今天无意发现如果使用不当,很容易引起内存泄露,测试代码如下: 1.定义一个类App package com.cnblogs. ...

  5. 对抗密码破解 —— Web 前端慢 Hash

    (更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. ...

  6. 使用 Nodejs 搭建简单的Web服务器

    使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块. ...

  7. 一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)

    Web.config的读取 对于Web.config的读取大家都很属性了.平时我们用得比较多的就是appSettings节点下配置.如: 我们对应的代码是: = ConfigurationManage ...

  8. Web性能优化:What? Why? How?

    为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...

  9. Web性能优化:图片优化

    程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...

  10. 使用ServiceStack构建Web服务

    提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛.首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Bu ...

随机推荐

  1. 附1 Java内存模型与共享变量可见性

    注:本文主要参考自<深入理解Java虚拟机(第二版)>和<深入理解Java内存模型> 1.Java内存模型(JMM) Java内存模型的主要目标:定义在虚拟机中将变量存储到内存 ...

  2. django-ORM相关代码及其sql执行次数

    1.普通情况:通过log可以看出,这种情况下,访问了1次数据库 def test(request): """测试连表""" users = ...

  3. Mac OSX sublime text2 各种快捷键

    Mac 快捷键 https://support.apple.com/zh-cn/HT201236 Preferences -> Key Bindings - User [ { "key ...

  4. HttpClient和HttpURLConnection的使用和区别(上)

    转自:点击打开链接 相信很多Android开发者碰到涉及到Http协议的需求时,都和我一样在犹豫是使用HttpClient还是使用HttpURLConnection呢.我在网上也搜索了很多文章,来分析 ...

  5. Android访问网络,使用HttpURLConnection还是HttpClient?

    本文转自:http://blog.csdn.net/guolin_blog/article/details/12452307,感谢这位网友的分享,谢谢. 最近在研究Volley框架的源码,发现它在HT ...

  6. Python生成gexf文件并导入gephi做网络图分析

    Gephi是一款优秀的复杂网络分析软件,支持导入多种格式的文件.gexf格式是Gephi 推荐的格式,基于 XML.本文是一个用python写的简单Demo,示例如何生成一个典型的gexf格式文件.代 ...

  7. Python单行注释与多行注释

    >>> print "hello,world"hello,world>>> 2+24#单行注释 """每行代码的后 ...

  8. Hive文件存储格式和hive数据压缩

    一.存储格式行存储和列存储 二.Hive文件存储格式 三.创建语句和压缩 一.存储格式行存储和列存储 行存储可以理解为一条记录存储一行,通过条件能够查询一整行数据. 列存储,以字段聚集存储,可以理解为 ...

  9. mongodb-地理坐标存储查询

    mongodb可支持空间地理搜索: 查询器 $geoWithin Selects geometries within a bounding GeoJSON geometry. The 2dsphere ...

  10. 分布式ID生成方法-趋势有序的全局唯一ID

    一.需求缘起 几乎所有的业务系统,都有生成一个记录标识的需求,例如: (1)消息标识:message-id (2)订单标识:order-id (3)帖子标识:tiezi-id 这个记录标识往往就是数据 ...