Http&Tomcat
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Http&Tomcat相关的知识,希望对你有一定的参考价值。
前端 | 服务器端 | 数据库 |
css
js
|
web层:
jsp+servlet
struts2
springMVC
service层:
sping
dao层:
jdbc
DBUtils
hibernate
mybatis
|
前端----(请求)---->服务器端 -----(jdbc+sql)---->数据库
服务器端----(响应)----->前端
客户端 <----------->服务器端
客户端通过http协议访问web应用服务器(服务器端)
web应用服务器:Tomcat
一、Http协议
1、什么是http协议?
HTTP:超文本传输协议(HyperText Transfer Protocal)是互联网应用最为广泛的一种网络协议。
Http协议组成:http请求 和 http响应 (给服务器端看的)
2、http请求信息
a、 请求行
请求方式:POST、GET
请求的资源:/DemoEE/form.html
协议版本:HTTP/1.1
HTTP/1.0,发送请求,创建一次连接,获得一个web资源,连接断开。
HTTP/1.1,发送请求,创建一次连接,获得多个web资源,保持连接。
b、请求头
请求头是客户端发送给服务器端的一些信息,使用键值对表示key:value
常见请求头
|
描述 (红色掌握,其他了解)
|
Referer
|
浏览器通知服务器,当前请求来自何处。如果是直接访问,则不会有这个头。常用于:防盗链
|
If-Modified-Since
|
浏览器通知服务器,本地缓存的最后变更时间。与另一个响应头组合控制浏览器页面的缓存。
|
Cookie
|
与会话有关技术,用于存放浏览器缓存的cookie信息。
|
User-Agent
|
浏览器通知服务器,客户端浏览器与操作系统相关信息
|
Connection
|
保持连接状态。Keep-Alive 连接中,close 已关闭
|
Host
|
请求的服务器主机名
|
Content-Length
|
请求体的长度
|
Content-Type
|
如果是POST请求,会有这个头,默认值为application/x-www-form-urlencoded,表示请求体内容使用url编码
|
Accept:
|
浏览器可支持的MIME类型。文件类型的一种描述方式。
MIME格式:大类型/小类型[;参数]
例如:
text/html ,html文件
text/css,css文件
text/javascript,js文件
image/*,所有图片文件
|
Accept-Encoding
|
浏览器通知服务器,浏览器支持的数据压缩格式。如:GZIP压缩
|
Accept-Language
|
浏览器通知服务器,浏览器支持的语言。各国语言(国际化i18n)
|
c、请求体
当请求方式是post的时,请求体会有请求的参数,格式如下: username=zhangsan&password=123
如果请求方式为get,那么请求参数不会出现在请求体中,会拼接在url地址后面 http://localhost:8080...?username=zhangsan&password=123
3、Http响应信息
a、响应行 --- HTTP/1.1 200 OK
Http协议版本
状态码:
常用的状态码如下:
200 :请求成功。
302 :请求重定向。(跳转:访问a网站不知不觉跳转到b网站)
304 :请求资源没有改变,访问本地缓存。
404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。
500 :服务器内部错误。通常程序抛异常。
状态信息:状态信息是根据状态码变化而变化的
b、响应头
响应也都是键值对形式,服务器端将信息以键值对的形式返回给客户端
常见请求头
|
描述
|
Location
|
指定响应的路径,需要与状态码302配合使用,完成跳转。
|
Content-Type
|
响应正文的类型(MIME类型)
取值:text/html;charset=UTF-8
|
Content-Disposition
|
通过浏览器以下载方式解析正文
取值:attachment;filename=xx.zip
|
Set-Cookie
|
与会话相关技术。服务器向浏览器写入cookie
|
Content-Encoding
|
服务器使用的压缩格式
取值:gzip
|
Content-length
|
响应正文的长度
|
Refresh
|
定时刷新,格式:秒数;url=路径。url可省略,默认值为当前页。
取值:3;url=www.itcast.cn //三秒刷新页面到www.itcast.cn
|
Server
|
指的是服务器名称,默认值:Apache-Coyote/1.1。可以通过conf/server.xml配置进行修改。<Connector port="8080" ... server="itcast"/>
|
Last-Modified
|
服务器通知浏览器,文件的最后修改时间。与If-Modified-Since一起使用。
|
c、响应体
响应体是服务器回写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染 显示页面内容
总结:
http协议是什么?
http协议包括什么?
http协议里面包括的几个部分分别由哪些内容?
二、WEB开发中常用的概念
(1)B/S系统 和 C/S系统
Brower/Server:浏览器 服务器 系统
Client/Server: 客户端 服务器 系统
(2)web应用服务器、
供向外部发布web资源的服务器软件
(3)web资源
存在于web应用服务器可供外界访问的资源就是web资源
例如:存在于web应用服务器内部的Html、Css、js、图片、视频等
1)静态资源:指web页面中供人们浏览的数据始终是不变。比如:HTML、CSS、 JS、图片、多媒体。
2)动态资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问 web页面看到的内容各不相同。比如:JSP/Servlet、ASP、php
javaWEB领域:动态资源认为通过java代码去动态生成html
(4)请求和响应
(5)请求的URL地址
web开发常用的web应用服务器:
weblogic:oracle公司的大型收费web服务器 支持全部javaEE规范
websphere:IBM公司的大型收费web服务器 支持全部的javaEE规范
Tomcat:Apache开源组织下的 开源免费的中小型的web应用服务器 支持--- javaEE 中的 servlet 和 jsp规范
三、Tomcat
1、安装下载Tomcat服务器
2、启动Tomcat,bin--->startup.bat (必须配置JAVA_HOME环境变量,否则闪退,查看日志logs)
为什么需要配置? Tomcat是由java编写的。
3、配置Tomcat的服务端口 (conf--->server.xml) 默认:localhost:8080
怎样查看端口是否被占用?
cmd ---> netstat -aov
80端口:
4、web应用的目录结构
web
| -----html 、jsp、css、js文件等
|
|------WEB-INF目录
|-----classes目录------(java类)
|-----lib目录-------(java类运行所需的jar包)
|-----web.xml文件----(web应用的配置文件)
注意:WEB-INF目录是受保护的,外界不能直接访问
5、使用Eclipse绑定Tomcat并发布工程
Java EE --->Dynamic Web Project
发布web工程:
copy工程下面的WebContent到Tomcat下面。工程名为文件夹名。
6、Servlet 快速入门
src 写个类 MyFirstServlet ,接口 implements Servlet
在public void service 下写一句代码:
//专门向客户端提供响应的方法
HttpServletResponse response = (HttpServletResponse) arg1;
response.getWriter().write("This is my first servlet!!!");
web.xml配置文件里面添加:
<servlet>
<servlet-name>MyFirstServlet</servlet-name>
<servlet-class>com.scalpel.servlet.MyFirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyFirstServlet</servlet-name>
<!--http协议访问时资源的虚拟路径,以/开始-->
<url-pattern>/a</url-pattern>
</servlet-mapping>
以上是关于Http&Tomcat的主要内容,如果未能解决你的问题,请参考以下文章