JSP学习记--03(Jsp内置对象request)

4 篇文章 0 订阅
 
JSP学习记--03
 
Jsp内置对象
主要有: request/reponse/session/application/out
(附加)
http协议的运行过程
(Hypertext Transfer Protocal)协议规定信息在Internet上的传输方法,特别规定了服务器与浏览器的交互方法.
从网站上获取页面时,时首先浏览器在网站上打开一个对刚网络服务器的连接,并发出请求,服务器收到请求后响应,返回结果。
 
HTTP请求的结构:
  包括请求行、头域和可能的信息体
  例:
 GET/hello.htm HTTP/1.1      //请求头
  Host:www.sina.com.cn
税典型的请求包含许多HTTP请求头,提供关于信息体的附加信息及请求的来源。还可能包含信息体,如表单内容。
  常用的请求头:GET Cookie Host
 
HTTP响应结构:
 
1、  request对象
内置对象request封装了用户提交的信息。
调用相应的方法可以获得封装的信息。
例:<FORM> method=get/post action=”提交信息的目的页面”
      提交手段
</FROM>
Action: 将信息提交给指明的页面
获取方法:request.getParameter(String s)
例:request.getParameter(“boy”)
见例:request1.jsp,request2.jsp,request3.jsp
request1.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
    
<BODY BGCOLOR=cygn background="1148350156370.jpg"><FONT size=4>
    
<p><h1>request对象</h1>
    
<form action="request2.jsp" method=post name=form>
    
<input type="text" name="boy">
    
<input type="submit" value="enter" name="submit">
    
</form>
</font>
</BODY>
</HTML>
request2.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
    
<BODY BGCOLOR=cygn background="1148350156370.jpg"><FONT size=4>
    
<p><h1>获取文本框提交的信息:</h1>
    
<%
    String textContent
=request.getParameter("boy" );
    
%>

    
<br>
        
<%=textContent%>
    
<p><h1>获取按钮的名字:</h1>
    
<%
    String buttonName
=request.getParameter("submit" );
    
%>

    
<br>
        
<%=buttonName%>
</font>
</BODY>
</HTML>
request3.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
    
<BODY BGCOLOR=cygn background="1148350156370.jpg"><FONT size=4>
    
<p><h1>request对象</h1>
    
<form action="" method=post name=form>
    
<input type="text" name="string">
    
<input type="submit" value="enter" name="submit">
    
</form>
    
<%
      String str
=request.getParameter("string" );
      
double m=0,n=0
;
      
if(str==null
)
      
{
            str
=""
;
      }

      
try
      
{
            m
=
Double.parseDouble(str);
            
if(m<0
)
            
{
                  
out.print("<br>"+"请输入一个正数"
);
            }

            
else
            
{
                  n
=
Math.sqrt(m);
                  
                  
out.print("<br>"+"您输入的数是:"+
String.valueOf(m));
                  
out.print("<br>"+"他的平方根为:"+
String.valueOf(n));
            }

        }

        
catch (NumberFormatException e)
        
{
                  
out.print("<br>"+"请输入一个数值"
);
        }

    
%>
</font>
</BODY>
</HTML>
注意:空对象错误的避免,加入以下代码:
      String str=request.getParameter("string");
      if(str==null)
      {
           str="";
      }   //可以避免很多调试的麻烦!!
 
Request对象处理汉字乱码问题:
  要用ISO-8859-1进行编码,并将编码存放到一个字节数组中去,再将数组转化为字符串对象。
  例:
     String textContent=request.getParameter("string");
Byte b[]=textContent.getBytes(“ISO-8859-1”);
textContent=new String(b);
   具体例子:见request4.jsp
 
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
    
<BODY BGCOLOR=cygn background="1148350156370.jpg"><FONT size=4>
    
<p><h1>request对象</h1>
    
<form action="" method=post name=form>
    
<input type="text" name="string">
    
<input type="submit" value="提交" name="submit">
    
</form>
     
<p> 获取文本的信息:
 
<%
 
       String textContent
=request.getParameter("string"
);
       
byte b[]=textContent.getBytes("ISO-8859-1"
);
       textContent
=new
 String(b);
  
%>

       
<br>
              
<%=textContent%>
      
<p> 获取按钮的名字:
  
<%

      String buttonName
=request.getParameter("submit" );
      
byte c[]=buttonName.getBytes("ISO-8859-1"
);
      buttonName
=new
 String(c);
   
%>

       
<br>
       
<%=buttonName%>
</font>
</BODY>
</HTML>
Request散列表用户注册实例:
   散列表:使用相关关键字查找被存储的数据项的一种数据结构,可以自动变大!关键字不可以有逻辑冲突!
  例见request5.jsp,request6.jsp
request5.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
    
<BODY BGCOLOR=cygn background="1148350156370.jpg"><FONT size=4>
    
<p><h1>request对象</h1>
    
<form action="request6.jsp" method=post name=form>
    
<p> 输入你的姓名:
    
<input type="text" name="name">

    
<p> 点击提交按钮:
    
<input type="submit" value="提交" name="submit">

    
</form>
</font>
</BODY>
</HTML>

request6.jsp

<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.util.*"%>
<HTML>
<BODY BGCOLOR=cygn background="1148350156370.jpg"><FONT size=4>
 
<%!
    Hashtable hashtable
=new  Hashtable();
    
public void
 putName(String s)
    
{
      hashtable.put(s,s);
    }

    
%>
 
<%           
      String name
=request.getParameter("name"
);
      
if(name==null
)
      
{
           name
=""
;
      }
   //可以避免很多调试的麻烦!!
       String textContent=request.getParameter("name" );
       
byte b[]=name.getBytes("ISO-8859-1"
);
       name
=new
 String(b);
       
if(!
(hashtable.containsKey(name)))
       
{
         putName(name);
   
%>

      
<p>您已经注册成功!!!!您的名字为------"<%=name%>"
   
<%
       }

       
else
       
{
   
%>

       
<p>名字--"<%=name%>"--已存在,请您换一个名字
   
<%

       }

    
%>
</font>
</BODY>
</HTML>

以上完成于:2007.08.01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值