使用post时,页面上的标签名与form里面的对应,在action里是不是就可以直接拿到,而使用get时需要通过url传递,在action要通过 getparamater取得?

解决方案 »

  1.   

    只要参数名或标签名与form中的对应都可以再Action里通过form或者getParamater获取。从这方面说两者没什么区别。
    两者区别应该在参数的传递方式上。这个不是struts的内容
      

  2.   

    GET是把参数放在URL内传输,只能传输小量数据.POST是把参数放在报文体内传输.
      

  3.   

    GET是把参数放在URL内传输,只能传输小量数据.POST是把参数放在报文体内传输,传输数据是无限的。
      

  4.   


    GET是把参数放在URL内传输,客户端能看到数据,所以说这样也不具备安全性,如果要数据安全的话,最好是用POST.
      

  5.   

    这其实是一个关于http协议的问题,我分别给你这两个消息的消息体实例
    GET /select/selectBeerTaste.jsp?color=dark&taste=malty HTTP/1.1
    Host: www.wickedlysmart.com
    User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.4) Gecko/
    20030624 Netscape/7.1
    Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
    plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive

    上面这个是get的消息体,注意这个消息体只包含header信息
    下面是个post消息体:
    POST /advisor/selectBeerTaste.do HTTP/1.1
    Host: www.wickedlysmart.com
    User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.4) Gecko/
    20030624 Netscape/7.1
    Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
    plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    color=dark&taste=malty楼主看最后post消息体的最后一行(红色部分),是消息体(之前的是header头部信息),消息体没有大小限制的因此post能够传输的数据确实比get要大,
      

  6.   

    这其实是一个关于http协议的问题,我分别给你这两个消息的消息体实例
    GET /select/selectBeerTaste.jsp?[color=#FF0000]color=dark&taste=malty HTTP/1.1
    Host: www.wickedlysmart.com
    User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.4) Gecko/
    20030624 Netscape/7.1
    Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
    plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive[/color]
    上面这个是get的消息,注意这个消息只包含消息头header信息
    下面是个post消息:
    POST /advisor/selectBeerTaste.do HTTP/1.1
    Host: www.wickedlysmart.com
    User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.4) Gecko/
    20030624 Netscape/7.1
    Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
    plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive


    color=dark&taste=malty
    楼主看最后post消息的最后一行(红色部分),是消息体(之前的是header头部信息),消息体没有大小限制的因此post能够传输的数据确实比get要大, 
      

  7.   

    跟struts没有关系,是http协议的事
      

  8.   

    表单提交中Get和Post方式的区别有5点 1. get是从服务器上获取数据,post是向服务器传送数据。 
    2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用 “&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。 
    3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 两种方式的参数都可以用Request来获得。 
    4. get传送的数据量较小,不能大于2KB。这主要是因为受URL长度限制(2048byte),但是执行效率却比 Post 方法好;post传送的数据量较大,一般被默认为不受限制。所以在上传文件只能使用Post(当然还有一个原因)。 但理论上,IIS4中最大量为80KB,IIS5中为100KB。 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击,根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制, 
    5. get安全性非常低,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。 post安全性较高。  Post的所有操作对用户来说都是不可见的。
    6、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。 
    7、Get是Form的默认方法。  这个事http协议,和具体的框架没关系。
      

  9.   

    如果你在form中加hidden传值且值是中文的话,记得用post,用get会乱码。
      

  10.   

    我只知道用postURL里的参数会隐藏,而GET不会
      

  11.   

    一般都是用post
    楼上解释很清楚了