MyEclipse2017 for Mac & Servlet的基础 --上卷

一些学些WebApp的一些笔记,都是些很基础的东西,现在都是是用框架了,我就是无聊增加一些知识储备,便于以后深入去了解。

  1. 在Mac下安装MyEcplise2017和配置Tomcat
  2. http协议简单描述
  3. Servlet的例子

    1.在Mac下安装MyEcplise2017和配置Tomcat

    首先需要下载个MyEcplise2017 for Mac,这里分享一个博客:http://blog.csdn.net/Rbtoooooooooo/article/details/74007333 里面有详细的讲解,棒棒哒!!奈斯
    下载并且破解了MyEcplise2017,就可以去Apache Tomcat的官网下载Tomcat:https://tomcat.apache.org/download-80.cgi
    选择你需要的版本进行下载,我这里下载的是:
    这里写图片描述
    这里下载得到一个压缩包,将其解压:
    这里写图片描述
    a.将apache-tomcat-7.0.85拷贝到放到/Users/计算机名/Library/目录下
    文件夹重名民为ApacheTomcat, 在bin的文件夹路径下有文件分别是startup.sh(开启Tomcat)和shutdown.sh(关闭Tomcat)。
    如果觉得我写的不够详细,我推荐另外一位博主的博客给大家,你们可以看看这个博主的博客:http://blog.csdn.net/feng2qing/article/details/60968548
    b.将Tomcat关联到MyEclipse
    MyEclipse2017的选中取消了某一些选项,将一些功能重新归纳到一起了。
    打开MyEclipse -> 偏好设置 -> Servers -> Runtime Environments -> add 剩下的就选择Tomcat的版本,然后选择刚刚移动并且改名的Tomcat文件夹。
    这里写图片描述
    添加玩了就点ok就行了。

2. http协议简单描述

Tomcat基本操作

在谈http之前先了解一下ApacheTomcat文件夹的目录
Tomcat的文件夹目录:
这里写图片描述

bin:这里存放了Tomcat的一些脚本,Tomcat的基本执行文件;
conf: 这里是Tomcat的配置文件;
lib:存放一下jar包的文件夹;
logs:用于存放Tomcat运行的时候产生的日志文件;
temp:用于存放Tomcat运行的时候产生的临时文件,这里可以手动删除temp目录下的文件,但不能删除temp文件夹,否则Tomcat无法运行;
webapps:用于发布我们的静态或者动态web应用;
work:同样存放Tomcat的临时文件,这些文件是运行时Tomcat的必要文件,理论上可以手动删除work目录下的文件,但是建议不手动去管理,Tomcat有自己的管理机制。

了解了目录,简单是试验一下:

  1. 在webapps文件创建一个文件夹名叫Ava,名字随便取,但请使用英文(减少没必要的错误),也别皮了,歪果仁做的东西对中文的支持不是很友好;
  2. 在Ava的目录下,创建一个index.html;
  3. 在index.html中输入一些基本的代码
<html>  
    <head></head>   
    <body>      
        <p>hello world!!!</p>
    </body> 
</html>
  1. 在终端CD到ApacheTomcat/bin的路径下,输入./startup.sh 开启Tomcat
  2. 打开浏览器,输入http://localhost:8080/Ava/index.html,就可以顺利打开Index.html;
  3. 第一个webapp就完成了;

    如果你想修改一下你的端口号或者添加一个新的地址,可以打开/ApacheTomcat/conf目录下的server.xml
    修改端口号和地址
    这里写图片描述

  4. 打开了server.xml之后,搜索HTTP,知道到我们的8080端口号,这里我们可以更改我们的端口号
    这里写图片描述
  5. 搜索localhost,找到如图所示的内容,这里可以配置域名,这里两部分组成了地址就是http://localhost:8080
    appBase:访问什么路径下的文件夹,
    unpackWARs:遇到WAR的时候,是否自动解压;
    autoDeploy: 当web.xml发生变化时,tomcat是否自动重新部署程序。

这里有一篇有写得很不错的博客推荐:
http://blog.csdn.net/u012906938/article/details/36718809
感兴趣的可以去看看,深入认识一下。


http 个人的一些看法

谈完了一些简单的配置,就可以谈 http的一些东西,作为移动开发者http应该不会陌生,基本的东西就略过了,这里讲一下http的构成。(以下是我学习中的一些总结,在某些措辞和说法上不一定完全正确,加入了本人一部分的理解)。
http协议的基本东西,太过于官方了,什么叫http,http什么意思,三次握手,四次挥手这些都不谈了。
我在学习中简单把http中分成两个部分:request(请求)和response(响应),http是一种应答模式,有提问就有回答。
在http1.0的时候,每一次请求都要建立一次链接,每一次链接的建立都要去握手,招手,验证,这种的http链接就很浪费资源了。
现在Tomcat8.5中是http1.1的版本,这里的http一次链接可以进行多次问答,多次数据交互,等到不再需要传递数据的时候,就断开链接,很大程度上节约了资源。


1. request (请求)

客户端对服务器发请求,一个request中包含了四个部分:

a. 请求首行:

eg:

GET http://localhost:8080/xxxxx / HTTP/1.1

GET -> 请求方式 (常见方式:get,post,delete,put)
http://localhost:8080/xxxxx -> 请求的地址
HTTP/1.1 -> 协议和协议的版本号

b. 请求头:

eg:

Host:localhost:8080
Connection:keep-alive
Accpt:text/html, application/xhtml+xml, application/xml; q=0.9,image/webp, */ * ;q=0.8 
User-Agent:XXXXXXXXXXXXXX 
Accept-Encoding:gzip,deflate,sdch
Accept-Language:ja,zh-CN;q=0.8, en;q=0.2

Host:localhost:8080 ->主机名和端口号;
Connection:keep-alive->这个跟http1.1版本保持一致,保持连接,直到没有请求,才中断;
Accpt:text/html, application/xhtml+xml,application/xml;q=0.9,image/webp, * /;q=0.8 -> 这一行表示可以接收的类型,在移动端中text/json或application/json,前者是没有官方支持的写法,后者是标准的json格式类型;q=x.x是优先级,数字越大,优先级越高; / *是所有格式都支持,这里CSDN中两个星号和斜杠是个格式符号,故这里用空格隔开了;
User-Agent:XXXXXXXXXXXXXX -> 这里是客户端的一些信息,比如系统版本呀,客户端信息一类等等,这里不列举了;
Accept-Encoding:gzip,deflate,sdch -> 客户端可以接收的解压的压缩格式;
Accept-Language:ja,zh-CN;q=0.8, en;q=0.2->客户端可以接收的文字,q表示优先级.

c. 请求空行:

这里是无法操作的,http本身自带的格式,用于分隔请求头和请求正文的。

d. 请求正文:

这里是字节流或者字符流

2.response

response可以简单理解成为一个容器,服务器端接收到请求,就开始填充response并发给客户端。
response分为:

a. 响应首行
http/1.1 200

http协议的版本, 响应码 200,500,404等等

b. 响应头
Server:xxxxx
content-Type:Text
content-Length:xxxx
Connection:keep-alive
Date:xxxxxx
Access-Control:xxxxxx
.........

响应头基本和request的请求头差不多,conection-length可以两端验证,防止数据长度被传改

c. 响应空行

这里是无法操作的,http本身自带的格式,用于分隔响应头和响应正文的。

d. 响应正文

这里是字节流或者字符流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值