也可以根据本地路由器ip进行链接
java对响应头和请求头进行了封装
request(请求头)
response(响应头)
service(ServletRequest,ServletResponse)>>service(HttpServletRequest,HttpServletResponse) 有不带协议的转换成带协议的
由容器(Tomcat)创建request 和response对象
request 请求
JavaWeb不一定非要用浏览器运行,Java也可以模拟运行(客户端不一定非要是浏览器)谁能够实现Http请求谁就可以运行
浏览器又叫做解析器,专门用来解析我们的Web请求
发送请求到我们的服务器Tomcat 当然也用其他不同的服务器 ,发送到服务器(请求头+数据)
解析请求头 找到相应的语言进行解析 Servlet/jsp
响应一个结果出来,响应给浏览器(响应头+数据) 拿到响应头后进行解析 呈现
一个网页如果有多个资源 他会进行多次请求 并不是一次就请求完了 请求头和响应头是成对出现的
请求过程:
服务器发出请求
找到Tomcat 新任务执行(新线程)多任务执行
解析请求头和数据(主要解析请求头)
产生HttpServletRequest 请求对象 HttpServletResponse 响应对象
产生响应对象的目的,是将响应对象交给Servlet ,Tomcat(是一个平台只负责解析)
找到相应Servlet
调用Service(ServletRequest,ServletResponse) 交给的是不带协议的
接下来的所有的操作由Servlet 来决定什么样的操作是输出还是什么的
你要找请求头就找ServletRequest对象 想找相应头找ServletResponse对象
Request和Response 的生命周期是多久
请求响应就结束了
Request与Response 是接口:
谁来用Web服务器谁就来实现(这了由Tomcat来实现)
response 响应应头
HttpServletRequest 部分方法说明
请求头信息获得:请求头就是一个文本信息
getRequestURL() **请求的URL地址 http://localhost:8080/hello 你要请求的具体地址**
getContextPath() ** http://localhost:8080/myweb/hello webapp名称地址 如果在ROOT目录就是空的**
getMethod ()**获得的是请求方法** get post
getContentLength()** 请求内容的长度int类型**
getContentLengthLong() 请求内容的长度 long类型
getContentType() **请求的数据类型** 类型说明 照片 文字还是其他
getQueryString() http://localhost:8080/hello?获得这里后面的参数p=1&h=1 获得URL的参数数据 p=1&h=1
getRemoteHost() **客户端IP地址**
请求头信息获得:
** getHeaderNames** 获得所有的名字
** getHeaders** 获得所有的键值对
**getHeader** 通过键,获得值
**getIntHeader** 获得int类型的值 能帮你转成int类型
System.out.println("request.getHeader(\"Accept\") = " + request.getHeader("Accept"));
Enumeration<String> n = request.getHeaderNames();//枚举器
while (n.hasMoreElements()) {//拿到元素
System.out.println("n.nextElement() = " + n.nextElement());//取值
}
response参数
我们在登录时应该有一个按钮将信息传送给我们的Tomcat
浏览器就是接受值和呈现 接受的值给我们的服务器 也就是Tomcat
URl后面的?就是给我们的服务器带参数 www.xixi.com/hello?name=小明 ?号后面就是带的参数
名字就是键 名字后面就是值
?表示参数的开始
&表示多个多个参数分开 分割符号
带回来的参数 你是入数据库还是其他操作就看自己的了 有两种方式URL带参 还是表单带参都行
怎样的到值 通过参数方法
http://localhost:8080/hello1?name=小明&address=上海
表单的方式只是让用户更容易接触
表单形式也只是换汤不换药 网页呈现形式也是
http://localhost:8080/hello1?name=小明&address=上海
只是让用户更容易接触