JSP数据交互习题错误总结

1:如果注册完页面有中文字符需要在提交后的页面显示注册信息,切记先把接受到的request的编码方式改为中文:request.setCharacterEncoding("utf-8");
不然会出现乱码
2:提交表单的时候,错误的把事件绑定到了submit按钮上了,应该绑定到表单标签,获取表单信息!

因为跳转后的页面需要显示上个注册页面的信息,用request.getParameter(String name);这个方法的作用是获取上个请求页面的所有提交的表单信息, 这个方法只能获取有name属性的标签值。 radio单选框最终选的是一个值,虽然性别选项的name值都是gender,但是我们最终获取的是一个选项,所以还可以用request.getParameter()方法。 checkbox复选框里因为可以选多个值所以要用request.getParameterValues()方法获取一个数组(复选框的所有name值要一致,复选框一定要设置value属性值要不然取到的值全是on,因为取不到框外的值,value和框外值要一致),然后遍历数组取值。

还有一个下拉框<select name="choice"><option>1</option> <option>1</option> <option>1</option></select>这里因为最终也是只取一个下拉框选项所以最终也只取一个值用request.getParameter(),但是option标签里没有name属性,不能乱加,只能在select标签里给一个name属性,取到选中值! 如:

MyEclipse创建的项目
***********************
1:index.jsp
*****************
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP ‘index.jsp‘ starting page</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
 <script src="js/jquery-1.8.3.min.js" type="text/javascript"></script>
 <script type="text/javascript">
   function mycheck(){
          var inputs=$("#year").val();
          var reg=/^(19[5-9][0-9])|20[0-1][0-4]$/;
          if(inputs==""){
           alert("年份不能为空");
           //$("#year").val(2014);
           return false;
              }
          else if(!reg.test(inputs)){
           //$("#year").val(2014);
               alert("必须输入1950-2014之内的正整数");
               return false;
              }
          return true;
    }
   $(function(){
   
          $("#year").css("width","80px");
          //年份正则表达式
          $("#year").blur(function(){
                mycheck();
              })
          $("#tijiao").submit(function(){
               return mycheck();
              })
    //自动改变月份日分
     $("#one").change(function(){
      var $num=$("#one option:selected").text();
                   if($num==1|$num==3|$num==5|$num==7|$num==9|$num==10|$num==12){
                       var str="";
                        for(var i=1;i<=31;i++){
                         str+="<option>"+i+"</option>";
                        }
                        $("#two").html(str);
                       }else if($num=="请选择"){
                               $("#two").html("请选择");
                           }else if($num==2){
                               var sts="";
                               for(var i=1;i<=28;i++){
                                   sts+="<option>"+i+"<option>";
                                   }
                               $("#two").html(sts);
                           }else{
                           var strs="";
                        for(var i=1;i<=30;i++){
                                strs+="<option>"+i+"<option>";
                              }
                        $("#two").html(strs);
                           }
              })
    })
 </script>
  </head>

<body>
     <form id="tijiao" action="welcome.jsp"  method="post">
       <table>
          <tr>
            <td>用户名:</td>
            <td><input type="text" name="txtname"/>只能输入字母或数字,4-16个字符</td>
          </tr>
         
          <tr>
            <td>密码:</td>
            <td><input type="password" name="txtpwd"/>密码长度6-12位</td>
          </tr>
         
          <tr>
            <td>确认密码:</td>
            <td><input type="password" name="txtrepwd"/></td>
          </tr>
         
          <tr>
            <td>性别:</td>
            <td>
            <input type="radio" name="gender" value="男" checked="checked"/>男
            <input type="radio" name="gender" value="女"/>女
            </td>
          </tr>
         
          <tr>
            <td>电子邮件地址:</td>
            <td><input type="text" name="txtemail"/>输入正确的Email地址</td>
          </tr>
         
          <tr>
            <td>出生日期:</td>
            <td>
            <input id="year" type="text" name="txtyear"/>年
            <select name=‘month‘ id="one">
            <option >请选择</option>
               <%  
                 for(int i=1;i<=12;i++){
                  out.print("<option id=‘+i+‘>"+i+"</option>");
                 }
               %>
            </select>月
             <select name="day" id="two">
               <option>请选择</option>
             </select>日
            </td>          
          </tr>
         <tr>
            <td><input type="submit" id="txtagree" value="同意以下协议条款并提交"/></td>
            <td><textarea rows="10" cols="30" >一、总则
  速度加快萨拉宽带阿斯顿has机会打撒时间大时代阿斯顿阿大使馆的哈市国家打扫打扫打扫过的爱上大事大家</textarea></td>
          </tr>
       </table>
     </form>
  </body>
</html>

2.welcome.jsp
********************
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">   
    <title>My JSP ‘welcome.jsp‘ starting page</title>  
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
  </head>

<body>
    欢迎观临,您的注册信息为:
    <table>
       <tr>
         <td>用户名:</td>
         <%request.setCharacterEncoding("utf-8"); %>
         <td><%=request.getParameter("txtname") %></td>
       </tr>
      
       <tr>
         <td>密码:</td>
         <td><%=request.getParameter("txtpwd") %></td>
       </tr>
      
       <tr>
         <td>性别:</td>
         <td><%=request.getParameter("gender") %></td>
       </tr>
      
       <tr>
         <td>电子邮件地址:</td>
         <td><%=request.getParameter("txtemail") %></td>
       </tr>
      
       <tr>
         <td>出生日期:</td>
         <td><%=request.getParameter("txtyear")+"年"+request.getParameter("month")+"月"+request.getParameter("day")+"日"
          %>
          </td>
       </tr>
    </table>
  </body>
</html>

JSP数据交互习题错误总结

时间: 2024-10-09 03:10:35

JSP数据交互习题错误总结的相关文章

jsp数据交互基础

一.动态网页开发基础 1.动态网页:能跟用户进行交互的网页,能够处理用户请求的网页 2.B/S架构:浏览器:客户端零维护:与操作系统平台的关系最小化:在响应速度和安全性上需要花费更多设计成本 C/S架构:需要专门的客户端应用:客户端需要单独维护和升级:对客户端操作系统一般有限制:能充分发挥客户端处理能力,客户端响应快 3.URL:Uniform Resource Locator统一资源定位符 http://localhost:8080/xxxx http:协议 localhost:8080代表I

#学习笔记#JSP数据交互

#学习笔记#JSP数据交互 数据库的使用方式: 当用户在第一个页面的查询框输入查询语句点提交的时候我们是用什么样的方式完成这个查询的? 答:我们通过在第一个页面提交表单的形式,真正的数据库查询时在第二个服务器页面进行的,第一个request对象里面放置了查询的内容,我们可以通过request.getParameter()方法获得,在服务器内我们之间把所有的查询直接用html语句输出是很困难的,所以我们把查询的结果赋给request的Attribute,使用request.sex`x`x``tAt

JSP数据交互(一)

1.什么是JSP内存对象? JSP内存对象,就是在编写JSP页面时,不需要做任何声明就可以直接使用的对象,例如,下面的代码: <% int   []  num={60,70,80} for(int  i:num){ out.println(i); } %> 代码 out.println()可以实现页面的输出显示,但是在代码中并没有任何地方声明或创建这个out对象,没有创建就可以直接使用的原因是Out对象是JSP内存对象之一 除了out对象以外,在JSP中海油依他一些内存对象 内置对象 代表内容

JSP数据交互——九大内置对象及其方法详解(一)

①既然说到JSP内置对象,那么什么是JSP内置对象呢? 解析:JSP内置对象,就是在编写JSP页面时,不需要做任何声明就可以直接使用的对象. 如下代码片段:  <% int[]  value  =  { 60, 70, 80 }; for(int i : value){ out.println(i); } %> 代码 out.println()可以实现页面的输出显示,但是在代码中并没有任何地方声明或创建这个out对象,没有创建就可以直接使用的原因就是out对象是JSP内置对象之一. ②为什么J

第2章 JSP数据交互(一)

1.JSP内置对象:JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用 2.JSP9大内置对象: 对象名称 类型 全路径 request response out session application page pageContext config execption 3.JSP内置对象:out <% int[] value = { 60, 70, 80 }; for (int i : value) { //将输出信息输出到控制台 System.out.println(

JSP数据交互(二)和Servlet基础

01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. 02.在一个应用中只有一个application,每一个用户都会共享这一个application对象. 03.通过统计网站访问次数来讲解application的用法 02.对象作用域 03.Cookie简介 解析:cookie是Web服务器保存在客户端的一系列文本信息,根据域名和端口号区分是否保存成

JSP数据交互【一】

一.jsp中java小脚本    1.<% java代码段%>    2.<% =java表达式%>不能有分号    3.<%!成员变量和函数声明%>二.注释    1.<!--html注释-->客户端可以看到    2.<%--jsp注释--%>客户端不能看到三.jsp页面的的执行过程    1.客户端请求(输入URL)    2.服务器       (1)现将jsp翻译成.java文件(第一次请求)            如果是第二次请求,并

JSP数据交互(二)

对象的作用域:  JSP中提供了四种作用域,分别是page作用域,request作用域,session作用域和application作用域. page作用域: page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问. page作用域内可以使用pageContext对象的setAttribute()和getAttibute()方法访问具有这种范围类型的对象. pageContext对象本身也属于page作用域,具有page作用域的对象被绑定到pageContext

JSP数据交互

一.jsp中java小脚本 1.<% java代码段%> 2.<% =java表达式%>不能有分号 3.<%!成员变量和函数声明%> 二.注释 1.<!--html注释-->客户端可以看到 2.<%--jsp注释--%>客户端不能看到 三.jsp页面的的执行过程 1.客户端请求(输入URL) 2.服务器 (1)现将jsp翻译成.java文件(第一次请求)  如果是第二次请求,并且jsp页面内容未改变 (2)将java文件编译成.class文件 (