当前位置: 编程技术>WEB前端
本页文章导读:
▪javaweb之HTTP协议以及servlet 一、HTTP协议:组成部分及每部分的详细分解
1、HTTP的作用:规范客户端与服务端交互数据的格式的。
2、版本
HTTP1.0:无状态协议。
HTTP1.1:有状态协议。在一次连接基础上可以与服务器多次.........
▪innerText和textContent 今天在使用innerText时遇到一个兼容性问题,FireFox不支持innerText方法,查了下MDN,发现FireFox下有个类似的方法,叫textContent,它和IE的innerText类似, 都是用来获取(设置)元素中text的方法。 .........
▪CSS常用属性及选择器 1、网页布局就是“这块内容显示在左边,那两块内容并排显示,那块内容漂浮在页面上”2、Div+CSS就是将要布局的内容用<div>切成块,然后使用css描述每个块的大小、位置等。布局.........
[1]javaweb之HTTP协议以及servlet
来源: 互联网 发布时间: 2013-11-06
一、HTTP协议:组成部分及每部分的详细分解
1、HTTP的作用:规范客户端与服务端交互数据的格式的。
2、版本
HTTP1.0:无状态协议。
HTTP1.1:有状态协议。在一次连接基础上可以与服务器多次交互。
3、在访问某个html页面时,如果某些标签有src这样的属性,浏览器都会再次发出请求(自动)
<img src=/blog_article/""/>_br/index.html> <script src=/blog_article/""/>_br/index.html> <link href=/blog_article/""/>_br/index.html>
html文件中只能包含文本。
***
4、HTTP协议的组成:
a、请求部分:
a、1请求行:位于第一行
请求方式 请求的资源(URI) 使用的协议
常用的请求方式:
(默认的)GET:表单中的数据会出现在地址栏中,不会出现在请求正文中。
(/App1/b.html?username=admin&password=111111)不安全。有长度限制<1KB
POST:表单中的数据会出现在请求正文中。长度无限。
a、2请求头:从第二行开始至第一个空行结束
a、3请求正文:从第一个空行开始到最后
GET /App1/1.html HTTP/1.1 请求行
Accept: */* 请求头
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Host: localhost:8080
Connection: Keep-Alive
Header1:h1
Header1:h2
//请求正文
常用请求头含义:
*Accept:浏览器可接受的MIME(协议)类型(MIME Type:Tomcat\conf\web.xml有文件类型与MIME类型的对应关系)
MIME类型:大类型/具体类型 1.html --->text/html 1.jpg ----->image/jpeg
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
*Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip
Accept-Language:浏览器所希望的语言种类,
Host:初始URL中的主机和端口
*Referer:值是一个URL。表示当前页面是由哪个页面转过来的。(防盗链;广告效果)
*Content-Type:内容类型(请求正文的MIME类型)Content-Type: application/x-www-form-urlencoded
对应表单的enctype="application/x-www-form-urlencoded"属性。
If-Modified-Since:是一个时间。利用这个头与服务器的文件进行比对,如果一致,则从缓存中直接读取文件。
User-Agent:浏览器类型.
Content-Length:表示请求消息正文的长度
*****Cookie:这是最重要的请求头信息之一
b、响应部分:
b、1响应行:位于第一行
使用的协议 响应码 响应码描述
响应码:(目前也就用到了30个左右)
200:正常响应
302/307:资源位置移动了
304:未修改
404:资源不存在
500:服务器内部错误
b、2响应头:从第二行开始至第一个空行结束
b、3响应正文:从第一个空行开始到最后
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"43-1353374734312"
Last-Modified: Tue, 20 Nov 2012 01:25:34 GMT
Content-Type: text/html
Content-Length: 43
Date: Tue, 20 Nov 2012 01:32:57 GMT
Warnning:w1
Warnning:w2
welcome to itheima<br/>
<img src=/blog_article/"6.jpg>
常用响应头:
*Location: http://www.it315.org/index.jsp指示新的资源的位置。结合302/307来使用,实现的请求重定向。
Server:apache tomcat指示服务器的类型
*Content-Encoding: gzip服务器发送的数据采用的编码类型
Content-Length: 80 告诉浏览器正文的长度
Content-Language: zh-cn服务发送的文本的语言
**Content-Type: text/html; charset=GB2312服务器发送的内容的MIME类型
*Refresh:定时刷新。取值是时间,单位为秒。
在指定的时间后,刷新到别处。Refresh:2;URL=/day04/1.html
*Content-Disposition: attachment; filename=aaa.zip指示客户端下载文件
*****Set-Cookie:SS=Q0=5Lb_nQ; path=/search服务器端发送的Cookie
*以下3个头通知客户端不要缓存:
Expires: -1
Cache-Control: no-cache (1.1)
Pragma: no-cache (1.0)
2、Servlet概述
3、编写Servlet的开发步骤
a、建立标准的JavaWeb应用目录
FirstApp
WEB-INF
classes
lib
web.xml
b、编写一个类,实现javax.servlet.Servlet接口
package com.itheima;
import javax.servlet.*;
import java.io.*;
public class HelloServlet implements Servlet{
public void destroy(){}
public String getServletInfo(){
return null;
}
public void service(ServletRequest req,
ServletResponse res)
throws ServletException,
IOException{
String data = "hello servlet";
res.getOutputStream().write(data.getBytes());
}
public ServletConfig getServletConfig(){return null;}
public void init(ServletConfig config)
throws ServletException
{}
}
c、进入HelloServlet的目录,执行javac -d . HelloServlet.java进行编译(要把servlet-api.jar加入到classpath中)
d、Servlet映射到某个地址上:修改web.xml
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.itheima.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
e、部署到Tomcat中
f、访问地址:http://localhost:8080/FirstApp/HelloServlet
4、编写Servlet也可以继承javax.se
1、HTTP的作用:规范客户端与服务端交互数据的格式的。
2、版本
HTTP1.0:无状态协议。
HTTP1.1:有状态协议。在一次连接基础上可以与服务器多次交互。
3、在访问某个html页面时,如果某些标签有src这样的属性,浏览器都会再次发出请求(自动)
<img src=/blog_article/""/>_br/index.html> <script src=/blog_article/""/>_br/index.html> <link href=/blog_article/""/>_br/index.html>
html文件中只能包含文本。
***
4、HTTP协议的组成:
a、请求部分:
a、1请求行:位于第一行
请求方式 请求的资源(URI) 使用的协议
常用的请求方式:
(默认的)GET:表单中的数据会出现在地址栏中,不会出现在请求正文中。
(/App1/b.html?username=admin&password=111111)不安全。有长度限制<1KB
POST:表单中的数据会出现在请求正文中。长度无限。
a、2请求头:从第二行开始至第一个空行结束
a、3请求正文:从第一个空行开始到最后
GET /App1/1.html HTTP/1.1 请求行
Accept: */* 请求头
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Host: localhost:8080
Connection: Keep-Alive
Header1:h1
Header1:h2
//请求正文
常用请求头含义:
*Accept:浏览器可接受的MIME(协议)类型(MIME Type:Tomcat\conf\web.xml有文件类型与MIME类型的对应关系)
MIME类型:大类型/具体类型 1.html --->text/html 1.jpg ----->image/jpeg
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
*Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip
Accept-Language:浏览器所希望的语言种类,
Host:初始URL中的主机和端口
*Referer:值是一个URL。表示当前页面是由哪个页面转过来的。(防盗链;广告效果)
*Content-Type:内容类型(请求正文的MIME类型)Content-Type: application/x-www-form-urlencoded
对应表单的enctype="application/x-www-form-urlencoded"属性。
If-Modified-Since:是一个时间。利用这个头与服务器的文件进行比对,如果一致,则从缓存中直接读取文件。
User-Agent:浏览器类型.
Content-Length:表示请求消息正文的长度
*****Cookie:这是最重要的请求头信息之一
b、响应部分:
b、1响应行:位于第一行
使用的协议 响应码 响应码描述
响应码:(目前也就用到了30个左右)
200:正常响应
302/307:资源位置移动了
304:未修改
404:资源不存在
500:服务器内部错误
b、2响应头:从第二行开始至第一个空行结束
b、3响应正文:从第一个空行开始到最后
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"43-1353374734312"
Last-Modified: Tue, 20 Nov 2012 01:25:34 GMT
Content-Type: text/html
Content-Length: 43
Date: Tue, 20 Nov 2012 01:32:57 GMT
Warnning:w1
Warnning:w2
welcome to itheima<br/>
<img src=/blog_article/"6.jpg>
常用响应头:
*Location: http://www.it315.org/index.jsp指示新的资源的位置。结合302/307来使用,实现的请求重定向。
Server:apache tomcat指示服务器的类型
*Content-Encoding: gzip服务器发送的数据采用的编码类型
Content-Length: 80 告诉浏览器正文的长度
Content-Language: zh-cn服务发送的文本的语言
**Content-Type: text/html; charset=GB2312服务器发送的内容的MIME类型
*Refresh:定时刷新。取值是时间,单位为秒。
在指定的时间后,刷新到别处。Refresh:2;URL=/day04/1.html
*Content-Disposition: attachment; filename=aaa.zip指示客户端下载文件
*****Set-Cookie:SS=Q0=5Lb_nQ; path=/search服务器端发送的Cookie
*以下3个头通知客户端不要缓存:
Expires: -1
Cache-Control: no-cache (1.1)
Pragma: no-cache (1.0)
2、Servlet概述
3、编写Servlet的开发步骤
a、建立标准的JavaWeb应用目录
FirstApp
WEB-INF
classes
lib
web.xml
b、编写一个类,实现javax.servlet.Servlet接口
package com.itheima;
import javax.servlet.*;
import java.io.*;
public class HelloServlet implements Servlet{
public void destroy(){}
public String getServletInfo(){
return null;
}
public void service(ServletRequest req,
ServletResponse res)
throws ServletException,
IOException{
String data = "hello servlet";
res.getOutputStream().write(data.getBytes());
}
public ServletConfig getServletConfig(){return null;}
public void init(ServletConfig config)
throws ServletException
{}
}
c、进入HelloServlet的目录,执行javac -d . HelloServlet.java进行编译(要把servlet-api.jar加入到classpath中)
d、Servlet映射到某个地址上:修改web.xml
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.itheima.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
e、部署到Tomcat中
f、访问地址:http://localhost:8080/FirstApp/HelloServlet
4、编写Servlet也可以继承javax.se
[2]innerText和textContent
今天在使用innerText时遇到一个兼容性问题,FireFox不支持innerText方法,查了下MDN,发现FireFox下有个类似的方法,叫textContent,它和IE的innerText类似, 都是用来获取(设置)元素中text的方法。
语法
- 设置
element.textContent = “text”;
- 获取
var text = element.textContent;
Note: textContent和innerText类似,也会同时获取子元素的text content,比如
<div>this is <span>a</span> text!</div>
// div.textContent == "this is a text!"
与innerText的区别
- textContent会获取所有元素的content,包括`<script>`和`<style>`元素
- innerText不会获取hidden元素的content,而textContent不会
- innerText会触发reflow,而textContent不会
- innerText返回值会被格式化,而textContent不会
主流浏览器支持情况
- IE 9+
- Chrome 1+
- FireFox(Gecko)
本文链接
[3]CSS常用属性及选择器
1、网页布局就是“这块内容显示在左边,那两块内容并排显示,那块内容漂浮在页面上”
2、Div+CSS就是将要布局的内容用<div>切成块,然后使用css描述每个块的大小、位置等。
布局小知识补充:
不要使用<table>进行布局,因为:table可能会在所有tr、td加载完成以后才显示,所以加载完成之前界面是一片空白;用table布局会将布局方式写在html中,违反了“语义性”原则;用table会影响搜索引擎的抓取,不利于SEO。因此Table用来表达真实表格状数据的东西,布局用Div(层)+Css来做,Div用来圈定元素,CSS用来定义元素的位置。
熟悉常用属性与样式
常用属性1
< head>
<title ></ title>
<style type="text/css">
body
{
/*
background-image:url(/blog_article/images/back_image.GIF);
background-repeat:no-repeat;//是否重复平铺
background-position:-200px -200px;//position 距离浏览器上下左右的边距 可以指定数值 也可以使用top center等
*/
/*background-repeat:repeat-x;*/
background-image :url(/blog_article/images/back_image.GIF) ;
background-position :top right;
background-repeat :no-repeat ;
/*background:red URL(images/back_image.GIF) no-repeat ;简洁方式*/
}
/*input
{
background-image:url(/blog_article/images/fragmentbg.jpg);
background-position-y:-30px;//指定相对y轴
width:100px;
height:30px;
border:0px;
}*/
input
{
border :solid 1px red ;
/*//上面的复合标记 省事 solid 1px red;顺序可以不固定的
border-left-style:dotted;
border-left-width:2px;
border-left-color:Red;
border-top-style:dotted;
border-top-width:2px;
border-top-color:Green;
*/
/*
border-style:dotted;
border-color:Red;
border-width:1px;
*/
<title ></ title>
<style type="text/css">
body
{
/*
background-image:url(/blog_article/images/back_image.GIF);
background-repeat:no-repeat;//是否重复平铺
background-position:-200px -200px;//position 距离浏览器上下左右的边距 可以指定数值 也可以使用top center等
*/
/*background-repeat:repeat-x;*/
background-image :url(/blog_article/images/back_image.GIF) ;
background-position :top right;
background-repeat :no-repeat ;
/*background:red URL(images/back_image.GIF) no-repeat ;简洁方式*/
}
/*input
{
background-image:url(/blog_article/images/fragmentbg.jpg);
background-position-y:-30px;//指定相对y轴
width:100px;
height:30px;
border:0px;
}*/
input
{
border :solid 1px red ;
/*//上面的复合标记 省事 solid 1px red;顺序可以不固定的
border-left-style:dotted;
border-left-width:2px;
border-left-color:Red;
border-top-style:dotted;
border-top-width:2px;
border-top-color:Green;
*/
/*
border-style:dotted;
border-color:Red;
border-width:1px;
*/
最新技术文章:
 
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!