http
发布方式:
方式一:将项目放在webapps下
访问路径:
http://主机:端口号/项目名称/资源路径
-
http:要求:掌握一些头信息
超文本传输协议:
规定数据的格式
浏览器往服务器发送---------- 请求
服务器往浏览器发送---------- 响应请求:
组成部分:
请求行 请求头 请求体
格式:请求方式 访问的资源 协议/版本
例如:GET /day0801/1.html HTTP/1.1
请求方式:get和post
get会把参数放在url的后面 post不会
get参数大小有限制,post请求没有限制
get请求没有请求体;post请求有请求体 请求参数放在请求体中请求行:请求信息的第一行 请求头:请求信息的第二行到空行结束 请求体:空行以下的内容
响应: (response)
组成部分:
响应行 响应头 响应体
响应行:响应信息的第一行
格式:协议/版本 状态码 状态码说明
例如:HTTP/1.1 200 OK
状态码:
200 正常响应成功
302 重定向
304 读缓存
404 用户操作资源不存在
500 服务器内部异常
响应头:从响应信息的第二行到空行结束
格式:key/value(value可以是多个值)
常见的头
请求头
Accept: text/html,image/* --支持数据类型
Accept-Charset: ISO-8859-1 --字符集
Accept-Encoding: gzip --支持压缩
Accept-Language:zh-cn --语言环境
Host: www.itcast.cn:80 --访问主机
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT --缓存文件的最后修改时间
Referer: http://www.itcast.com/index.jsp --来自哪个页面、防盗链
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Cookie
Connection: close/Keep-Alive --链接状态
Date: Tue, 11 Jul 2000 18:23:51 GMT --时间
响应头
Location: http://www.it315.org/index.jsp --跳转方向 和302一起使用
Server:apache tomcat --服务器型号
Content-Encoding: gzip --数据压缩
Content-Length: 80 --数据长度
Content-Language: zh-cn --语言环境
Content-Type: text/html; charset=GB2312 --数据类型
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT --最后修改时间
Refresh: 1;url=http://www.it315.org --定时刷新
Content-Disposition: attachment; filename=aaa.zip --下载
Set-Cookie:SS=Q0=5Lb_nQ; path=/search
Expires: -1 --缓存
Cache-Control: no-cache --缓存
Pragma: no-cache --缓存
Connection: close/Keep-Alive --连接
Date: Tue, 11 Jul 2000 18:23:51 GMT
掌握的头信息
Content-Type Location Last-Modified zhong
响应体:空行以下的内容
页面上展示的内容
servlet
动态的web开发技术,本质就是一个类,运行在服务器端的一个Java小程序
处理业务逻辑,生成动态web内容
- 编写一个servlet步骤:
1.编写一个类
a.继承HttpServlet
b.重写doGet或者doPost方法
2.编写配置文件(web-inf/web.xml)
a.注册servlet
b.绑定路径
3.访问
http://主机:端口号/项目名/路径
接收参数:key=value
String value=request.getParameter(“key”)
例如:http://localhost/day09/hello?username=tom
request.getParameter(“username”)就可以获取Tom值
回写内容:response
response.getWriter( ).print(“success”);
处理响应数据中文乱码:
resp.setContentType(“text/html;charset=utf-8”);
1. 注册servlet 使用servlet标签
servlet-name: 给servlet起个名字 全剧唯一
servlet-class: 存servlet的全限定名 复制过来
2.绑定路径 使用servlet-mapping标签
servlet-name:使用上面已经起好的名字建议复制
url-pattern: 访问路径 要求:目前必须以“/”开头 唯一
登录 ----步骤分析
1.现有数据库和表
2.创建工程
3.复制页面
4.导入jar包
驱动dbutils c3p0
5.导入工具类和配置文件
datasourceUtils
c3p0-config.xml
6.创建servlet(loginServlet: 路径 /logion)
接受用户名和密码
调用service层(UserService)完成登录操作
提示信息
7.UserService
Login(username,password)
调用dao
8. dao
通过用户名和密码查询数据库
Get和Post的区别
- GET在浏览器回退时是无害的,而POST会再次提交请求。
- GET产生的URL地址可以被Bookmark,而POST不可以。
- GET请求会被浏览器主动cache,而POST不会,除非手动设置。
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET请求在URL中传送的参数是有长度限制的,而POST么有。
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
- GET参数通过URL传递,POST放在Request body中。