现在的位置: 首页 > 综合 > 正文

表单处理、HTTP协议和GET/POST

2013年10月26日 ⁄ 综合 ⁄ 共 2946字 ⁄ 字号 评论关闭

表单处理、HTTP协议和GET/POST

老师笔记:
1、表单的处理 
    (1)如何获得表单的参数 
    1),String request.getParameter(String paraName); 
        注意: 
            a,paraName与实际参数名不一致,会返回null值。 
            b,如果用户没有输入任何的值,大部分的表单域 
            会返回""字符串。单选和多选会返回null值。 
    2)String[] request.getParameterValues(String paraName);         
        注意: 
            当用多个请求参数名相同的时候,用这个方法。 
    (2)中文的处理(表单中有中文参数) 
        a,产生乱码问题的原因 
            当表单采用post方式提交时,浏览器会将 
        表单中的中文按照打开表单所在的页面的编码 
        来进行编码。而服务器端在默认情况下,大部分 
        服务器会使用iso-8859-1来解码。 
        b,解决方式: 
            step1 在html页面中,添加 
            <meta http-equiv="content-type"  
        content="text/html;charset=utf-8"> 
            step2 表单采用post方式提交 
            step3 在servlet类里面,添加 
            request.setCharacterEncoding("utf-8"); 

    //以下代码有两个作用: 

response.setContentType("text/html;charset=utf-8"); 

        //作用1:out会使用utf-8去编码。 
        //作用2:生成的content-type的值是 
        // text/html;charset=utf-8,浏览器会使用 
        //utf-8这种编码格式来打开页面。 
        而response.setContentType("text/html"); 
        //默认情况下,out流使用iso-8859-1这种编码 
        //格式,显然,对于中文,无法正确输出。 
        //另外,服务器会生成一个消息头content-type 
        //值是 text/html;charset=iso-8859-1,浏览 
        //器会使用iso-8859-1这种编码格式来打开页面 
        //很显然,也会出现乱码。


2、http协议(了解) 
    (1)http是什么 
        hypertext tranfer protocal(超文本传输协议), 
    定义了浏览器(也可以其它客户端程序)与 
    web服务器之间通讯的过程与数据的格式。 
    (2)通讯的过程 
        a,浏览器请求与服务器之间建立连接 
        b,浏览器将要发送的数据打包(按http协议 
        的格式要求) 
        c,服务器处理请求,将处理结果打包,发送给 
        浏览器。 
        d,服务器关闭连接。 
        一次请求,一次连接,也就是说,浏览器与 
    web服务器之间,不会建立一种持续的连接。 
    这样做的好处是:服务器可以使用有限的连接为 
    多个客户服务。 
    (3)数据的格式 
        1)请求数据包 
            a,请求行: 
                请求方式 get/post 
                请求资源路径(端口号之后的内容) 
                协议及版本 (通常为 http 1.1)
            b,消息头(若干) 
                消息头:w3c定义的一套通讯的规则,浏览器 
            与服务器都会遵守。 
                消息头会由浏览器与服务器自动生成,我们 
            也可以编程生成自己的消息头。 
            c,实体内容 
                只有当请求方式是post方式的时候,实体内容 
            才会有数据:数据指的是请求参数。 
                如果请求方式是get方式,请求参数会添加到 
            请求资源路径后面。 
        2)响应数据包 
            a,状态行: 
                协议的类型与服务器版本(如:http 1.1) 状态码(如 404,405,500,302) 状态码的描述 
                常见的状态码: 
                    200: 服务器正常处理了请求。 
                    500:系统出错 
                    404:要访问的请求资源路径不存在对应的资源 
            b,若干消息头 
                服务器也可以发送一些消息头给浏览器。 
                比如content-type消息头可以告诉浏览器返回的 
                数据类型及编码。 
            c,实体内容 
                返回的处理结果 
3、get/post请求 
    (1)哪一些是get请求 
        a,在浏览器地址栏直接输入一个地址 
        b,表单默认的提交方式 
        c,链接 
    (2)get请求的特点 
        a, 会将请求参数放到请求资源路径后面, 
    因为请求行最多允许的数据大约是4K左右,所以, 
    get方式只适合提交少量的数据。 
        b,会将请求参数显示到浏览器地址栏,相对来说, 
    不安全。 
    (3)哪一些是post方式 
        a,表单的method="post" 
    (4)post方式的特点 
        a,会将请求参数放到实体内容里面,提交的数据量 
    理论上没有限制。 
        b,浏览器地址栏不会显示请求参数,相对安全(是没有加密的)。 
 
 
         
         
         
        

一些MYSQL数据库知识:
创建数据库 设置默认字符编码为 :utf8

create database 数据库名字  default character set utf8(字符编码);
数据类型:
bigint(8个字节,相当于long)
double (8个字节)
varchar
int(4个字节)
date
datetime
text
blob (保存大量的二进制数据:音、 视频等)
主键约束:
primart key auto_increment(设置主键  自增长列)主键由数据库自动生成
唯一性约束:
unique
创建一个数据库实例:
mysql> create table t_user(
    -> userid int primary key auto_increment,
    -> pwd varchar(20),
    -> username varchar(25) unique,
    -> userage int
    -> );

抱歉!评论已关闭.