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的主要内容,如果未能解决你的问题,请参考以下文章

TomcatTomcat安装及Eclipse配置教程

TomcatTomcat 原理架构

TomcatTomcat 用法 问题 整理

TomcatTomcat性能分析

TomcatTomcat的类加载机制

TomcatTomcat 介绍及使用教程