⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 36.html

📁 写给JSP初级程序员的书
💻 HTML
📖 第 1 页 / 共 2 页
字号:
   下面这个例子寻找表单所发送的所有变量名字,并把它们放入表格中,没有值或者有多个值的变量都突出显示。 <br>
<br>
   首先,程序通过HttpServletRequest的getParameterNames方法得到所有的变量名字,getParameterNames返回的是一个Enumeration。接下来,程序用循环遍历这个Enumeration,通过hasMoreElements确定何时结束循环,利用nextElement得到Enumeration中的各个项。由于nextElement返回的是一个Object,程序把它转换成字符串后再用这个字符串来调用getParameterValues。 <br>
<br>
   getParameterValues返回一个字符串数组,如果这个数组只有一个元素且等于空字符串,说明这个表单变量没有值,Servlet以斜体形式输出“No Value”;如果数组元素个数大于1,说明这个表单变量有多个值,Servlet以HTML列表形式输出这些值;其他情况下Servlet直接把变量值放入表格。 <br>
<br>
   ShowParameters.java <br>
<br>
   注意,ShowParameters.java用到了前面介绍过的ServletUtilities.java。 <br>
package hall;<br>
<br>
import java.io.*;<br>
import javax.servlet.*;<br>
import javax.servlet.http.*;<br>
import java.util.*;<br>
<br>
public class ShowParameters extends HttpServlet {<br>
&nbsp;&nbsp;public void doGet(HttpServletRequest request,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletResponse response)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throws ServletException, IOException {<br>
&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType(&quot;text/html&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;PrintWriter out = response.getWriter();<br>
&nbsp;&nbsp;&nbsp;&nbsp;String title = &quot;读取所有请求参数&quot;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;out.println(ServletUtilities.headWithTitle(title) +<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;<BODY BGCOLOR=\&quot;#FDF5E6\&quot;>\n&quot; +<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;<H1 ALIGN=CENTER>&quot; + title + &quot;</H1>\n&quot; +<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;<TABLE BORDER=1 ALIGN=CENTER>\n&quot; +<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;<TR BGCOLOR=\&quot;#FFAD00\&quot;>\n&quot; +<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;<TH>参数名字<TH>参数值&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;Enumeration paramNames = request.getParameterNames();<br>
&nbsp;&nbsp;&nbsp;&nbsp;while(paramNames.hasMoreElements()) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String paramName = (String)paramNames.nextElement();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(&quot;<TR><TD>&quot; + paramName + &quot;\n<TD>&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[] paramValues = request.getParameterValues(paramName);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (paramValues.length == 1) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String paramValue = paramValues[0];<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (paramValue.length() == 0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.print(&quot;<I>No Value</I>&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.print(paramValue);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(&quot;<UL>&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0; i<paramValues.length; i++) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(&quot;<LI>&quot; + paramValues[i]);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(&quot;</UL>&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;out.println(&quot;</TABLE>\n</BODY></HTML>&quot;);<br>
&nbsp;&nbsp;}<br>
<br>
&nbsp;&nbsp;public void doPost(HttpServletRequest request,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletResponse response)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throws ServletException, IOException {<br>
&nbsp;&nbsp;&nbsp;&nbsp;doGet(request, response);<br>
&nbsp;&nbsp;}<br>
}<br>
<br>
<br>
<br>
<br>
   测试表单 <br>
<br>
   下面是向上述Servlet发送数据的表单PostForm.html。就像所有包含密码输入域的表单一样,该表单用POST方法发送数据。我们可以看到,在Servlet中同时实现doGet和doPost这两种方法为表单制作带来了方便。 <br>
<!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;><br>
<HTML><br>
<HEAD><br>
&nbsp;&nbsp;<TITLE>示例表单</TITLE><br>
</HEAD><br>
<br>
<BODY BGCOLOR=&quot;#FDF5E6&quot;><br>
<H1 ALIGN=&quot;CENTER&quot;>用POST方法发送数据的表单</H1><br>
<br>
<FORM ACTION=&quot;/servlet/hall.ShowParameters&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;METHOD=&quot;POST&quot;><br>
&nbsp;&nbsp;Item Number:<br>
&nbsp;&nbsp;<INPUT TYPE=&quot;TEXT&quot; NAME=&quot;itemNum&quot;><BR><br>
&nbsp;&nbsp;Quantity:<br>
&nbsp;&nbsp;<INPUT TYPE=&quot;TEXT&quot; NAME=&quot;quantity&quot;><BR><br>
&nbsp;&nbsp;Price Each:<br>
&nbsp;&nbsp;<INPUT TYPE=&quot;TEXT&quot; NAME=&quot;price&quot; VALUE=&quot;$&quot;><BR><br>
&nbsp;&nbsp;<HR><br>
&nbsp;&nbsp;First Name:<br>
&nbsp;&nbsp;<INPUT TYPE=&quot;TEXT&quot; NAME=&quot;firstName&quot;><BR><br>
&nbsp;&nbsp;Last Name:<br>
&nbsp;&nbsp;<INPUT TYPE=&quot;TEXT&quot; NAME=&quot;lastName&quot;><BR><br>
&nbsp;&nbsp;Middle Initial:<br>
&nbsp;&nbsp;<INPUT TYPE=&quot;TEXT&quot; NAME=&quot;initial&quot;><BR><br>
&nbsp;&nbsp;Shipping Address:<br>
&nbsp;&nbsp;<TEXTAREA NAME=&quot;address&quot; ROWS=3 COLS=40></TEXTAREA><BR><br>
&nbsp;&nbsp;Credit Card:<BR><br>
&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=&quot;RADIO&quot; NAME=&quot;cardType&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUE=&quot;Visa&quot;>Visa<BR><br>
&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=&quot;RADIO&quot; NAME=&quot;cardType&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUE=&quot;Master Card&quot;>Master Card<BR><br>
&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=&quot;RADIO&quot; NAME=&quot;cardType&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUE=&quot;Amex&quot;>American Express<BR><br>
&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=&quot;RADIO&quot; NAME=&quot;cardType&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUE=&quot;Discover&quot;>Discover<BR><br>
&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=&quot;RADIO&quot; NAME=&quot;cardType&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUE=&quot;Java SmartCard&quot;>Java SmartCard<BR><br>
&nbsp;&nbsp;Credit Card Number:<br>
&nbsp;&nbsp;<INPUT TYPE=&quot;PASSWORD&quot; NAME=&quot;cardNum&quot;><BR><br>
&nbsp;&nbsp;Repeat Credit Card Number:<br>
&nbsp;&nbsp;<INPUT TYPE=&quot;PASSWORD&quot; NAME=&quot;cardNum&quot;><BR><BR><br>
&nbsp;&nbsp;<CENTER><br>
&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=&quot;SUBMIT&quot; VALUE=&quot;Submit Order&quot;><br>
&nbsp;&nbsp;</CENTER><br>
</FORM><br>
<br>
</BODY><br>
</HTML>      <br>   
      <br>   
        </td>
      </tr>
      <tr><td colspan=2 align=right class=t> <a href="http://www.chinajavaworld.com/doc/servlet-jsp/32.html" ></a>  <a href="35.html" tppabs="http://www.chinajavaworld.com/doc/servlet-jsp/35.html" ></a> <a href="37.html" tppabs="http://www.chinajavaworld.com/doc/servlet-jsp/37.html" ></a>       </td></tr>
    </td>
  </tr>
</div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -