一:Web介绍

1.Web:网页,网络

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

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

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

4.B/S结构的模型:

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

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

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

6.如何对话?

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

7.Web应用程序:

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

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

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

9.http协议

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

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

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

http处理流程:

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

http请求方式:

get请求方式:

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

post请求方式:

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

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

二:tomcat

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

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

3.Tomcat下载

下载地址: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位的

	cmd: java -version :检查jdk版本

2)执行startup.bat一闪而过

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

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

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

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

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

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

9.分析tomcat目录结构:

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

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

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

11.url分析

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

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

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

三:Myeclipse配置tomcat

Myeclipse配置tomcat:

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

MyEclipse开发java web程序流程:

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

    本文由作者张远道授权网易云社区发布. 类加载器三杰 jvm有三类classloader,分别是bootstrap classloader,extended classloader以及system cl ...

  2. Systemd 服务管理器

    博文链接:http://www.cnblogs.com/zhenghongxin/p/8672199.html 项目中遇到有些脚本需要通过后台进程运行,保证不被异常中断,变成守护进程的第一步,就是把它 ...

  3. 通过IntelliJ IDEA创建maven+springmvc+mybatis项目

    第一个springmvc+mybatis项目,通过学习极客学院视频(视频案例通过eclipse搭建,网址为http://www.jikexueyuan.com/course/1430.html),发现 ...

  4. echart 遇到的点

    1,图表随着外部container变化而变化: window.onresize = myChart.resize (拿着resize在api文档中搜就看到了)

  5. php 删除二维数组中某个key值

    /** * 根据key删除数组中指定元素 * @param array $arr 数组 * @param string/int $key 键(key) * @return array */ priva ...

  6. WIKI常用的表格设计模板

    域名服务器管理表格     数据库管理表格     软件路径说明表格   开发测试环境虚拟机表格        

  7. jvm(1)类加载(一)(加载过程,双亲加载)

    JVM类加载器机制与类加载过程 jvm虚拟机的种类: Hotspot(Oracle)(基本上都是在说这个) J9, JikesRVM(IBM) Zulu, Zing (Azul) Launcher是一 ...

  8. 【xsy1018】 小A的字母游戏 扩展CRT

    题目大意:有$n$个无限长的循环字符串,所谓循环字符串,就是由某一个子串重复叠加而成.现在想知道最早在哪一位,这n个字符串的那一位的字母相同. 数据范围:$n≤30000$,答案$<2^{63} ...

  9. WebAPI POST GET

    简而言之,在WEBAPI中采用GET方法方法时在接受参数的时候会在参数前申明 [fromuri]标注从uri中获取如: [HttpPost] public IHttpActionResult AddP ...

  10. [经验]微信开放平台,一个APP secret可以绑定一个APP,然后再绑定一个ipad 版本APP

    微信开放平台,一个APP secret可以绑定一个APP,然后再绑定一个ipad 版本APP