JAVA之HTTP,Servlet项目

来源:互联网 发布:买了一辆豪车后 知乎 编辑:程序博客网 时间:2024/06/06 14:51

TCP/IP 两台电脑之间的通信
HTTP:
1 数据格式
2 通信协议
Request Message:
Headers:
Get(什么请求方式) Http(协议)
Host(服务器地址)
UserAgent : 浏览器的版本 (js存在兼容性问题,通过不同的浏览器写不同的js)
Accept :image/gif,(类似与content type)
————— blank line—————

Response:
headers:
Http/1.1 200(状态码) OK
Server :Apache/2.0.45 你使用的什么服务器
Content_length 安卓开发用到,下载的时候,progress bar 根据content-length
Content-Type :text/html
———–blank line —————-
…..
http content-type :
网上的对照表
常用的pdf,jsp,*.

请求数据包组成: 请求行(request line):
请求方式+请求资源路径+协议版本
消息头(header)
茧指头
实体内容(body)
相应数据包
状态行:
消息头:
使体内通

状态行:协议类型 版本 状态码 状态描述

消息头:告诉浏览器服务器返回的数据类型和字符集

实体内容:一般是html

控制通信数据

服务器将响应和请求解释为两个对象

HttpServletRequest 对象作用:
作用:
读取写入http数据()
标示http回话
取掉提交的信息和头的信息
方法 :
getHeader
getRequestURL
Enumeration getHeaderNames() Enumeration类型
附枚举遍历方法:
while(headerNames.hasMoreelements.nextElement()+”—-“)

HTTPServletResponse
方法:response.setCharacterEncoding

小结:消息头
回话超时时米有页面时一步提交.
String getParameter(String paraName)

String getParametervalues(String paraName)
多用于复选框 ,返回String数组

GET 请求指定的资源
POST 向指定的资源提交需要处理的数据
HEAD 要求响应与响应的GET一样,但是无响应体
PUT 上传制定资源

什么情况浏览器发送GET请求

  • 地址栏输入一个地址
  • 点击链接
  • 表单默认提交
    特定:
    会将请求数据添加到请求资源后面,只能提交少量数据
    请求参数显示到浏览器地址蓝上

html 中的表单中有一个 submit,一旦提交就会产生post请求,然偶胡后台处理这个清切

form action= “/sec”
如果有/ 就代表点击提交表单后,进入根目录中的sec文件,否则可以带上项目名字

提交数据记得加上 编码,否则显示不出来汉字

编码:将unicode转化为本地的字符集
response.setContentType(“test/html;charset=utf-8”)
作用:
通知容器,用out.println方法梳齿是没使用制定的字符集
通知浏览器,服务器返回的数据类型和字符集

JDBC :
将jar放到文本_inf\lib 下
classLoder在容器如Tomcat内部,然后加载到JVM中变成一个对象.

servlet工作的过程

约定大于规定.
servlet项目的两种实现方式:
1实现 Servlet接口
2继承HttpServlet
servlet 一个service方法 能处理两个请求,因为根据你的请求方法调其他方法.
servlet 是多线程环境下运行,无状态对象,因此不能定义属性,也不能私有变量,不能有状态.

用redriect()可以重定向到指定的html中. 括号里必须是servlet对象.
在WEB-INF中有个文件web.xml,专门来配置的.
servet-mapping 和 servlet 是承兑出现的 在web.xml中.

session-config
session-timeout设置会话超时时间
error-page个性化错误界面
error-code
exception-type
location 页面路径 配置html的绝对路径,相对项目的绝对路径,
除了index和login 都要写到web-inf文件夹中,只有服务器端才能访问这些页面,浏览器不能访问.

原创粉丝点击