html5企业网站案例,做建材网站怎么做,django怎么做网站,黄岛网站建设多少钱Technorati 标签: servlet#xff1b;java 一、概述 Servlet 有一个比较好的功能就是可以自动处理表单提交的数据。我们只需要调用HttpServletRequest#getParameter(String name),就可以获得指定参数的值#xff08;String#xff09;#xff0c;注意此方法是大小写敏感的。… Technorati 标签: servletjava 一、概述 Servlet 有一个比较好的功能就是可以自动处理表单提交的数据。我们只需要调用HttpServletRequest#getParameter(String name),就可以获得指定参数的值String注意此方法是大小写敏感的。其返回值String与其对应的URL编码一致。当参数name存在可没有值的时候会返回一个空串“”当参数name 不存在时会返回 null。当某一个参数有多个值时可以调用方法getParameterValues(String name)返回字符串数组。当指定参数不存在时getParameterValues(String name)返回null当指定参数只有一个值时返回一个只有一个元素的数组String。 接着谈一下的是尽管大部分时候servlet 都只需要获取指定参数的值。不过在调试时获取整个参数列表也是一个不错的选择。调用方法 getParameterNames可以获取表单参数名的枚举列表每一条目都会强制转换为 String可以用于getParameter(String name)和getParameterNames()。需要注意的是所返回的枚举列表在任何情况下都不能保证各个元素的排列数序。 二、Demo Demo1读取三个指定参数的值。如下我们设计的一个简单的form register.jsp代码如下 % page contentTypetext/html; charsetutf-8 languagejava importjava.sql.* errorPage %
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlnshttp://www.w3.org/1999/xhtml
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
titlecollecting three parameters/title
/head
bodycenter
h1collecting three parameters/h1
form idform nameform methodget actionThreeParamslabelname:/labelinput typetext nameusername/
labelpassword:/labelinput namepassword typepassword /
labelemail:/labelinput nameemail typetext /
input namesubmit typesubmit/
/form/center
/body
/html 对应的看一下Servlet ThreeParams.java 代码如下 1: WebServlet(/ThreeParams) 2: public class ThreeParams extends HttpServlet { 3: private static final long serialVersionUID 1L; 4: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 5: PrintWriter out response.getWriter(); 6: response.setCharacterEncoding(text/html;chasetgbk); 7: String title collecting three parameters; 8: out.print(htmlbodyh1 9: title /h1libname/b 10: request.getParameter(username) /li 11: libpassword/b 12: request.getParameter(password) /li 13: libemail/b 14: request.getParameter(email) /li); 15: out.print(/body/html); 16: } 17: } 其输出效果如图 以上Demo演示了如何获取一个指定参数的值不过都一个个来获取的。有时候我们也许需要一次性获取所有参数的值那怎么做呢 Demo2:一次性获取所有参数。form 表单设计如下 info.jsp代码如下 % page contentTypetext/html; charsetutf-8 languagejava importjava.sql.* errorPage % !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlnshttp://www.w3.org/1999/xhtml head meta http-equivContent-Type contenttext/html; charsetutf-8 / titlea sample form using post/title /head body form idform nameform methodpost actionShowParameters li用户名:input typetext nameaccount //li li性别:input typeradio namesex valuemale checkedchecked /帅哥 input typeradio namesex valuefemale /美女/li li爱好input namehobby typecheckbox valuebastketball checkedchecked /篮球 input namehobby typecheckbox valuefootball /足球/li li密码 input typepassword namepassword //li li确认密码input typepassword namerepassword / liemail:input typeemail nameemail //li li自我描述:/li litextarea namedescription cols20 rows5 /textarea/li liinput namesubmit typesubmit valuesubmit//li /form /body /html 现在来看一下Servlet ShowParemeter.java 的代码设计 WebServlet(/ShowParameters) public class ShowParameters extends HttpServlet { private static final long serialVersionUID 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(text/html); PrintWriter out response.getWriter(); String title get all parameters of a form; out.println(htmlbodyh1 title /h1 table border1 aligncentertrthParameter name/ththParameter values/th/tr); EnumerationString parameterNames request.getParameterNames(); while (parameterNames.hasMoreElements()) { String name (String) parameterNames.nextElement(); out.println(trtd name /td); String[] parameterValues request.getParameterValues(name); if (parameterValues.length 1) { String parameterValue parameterValues[0]; if (parameterValue.length() 0) { out.println(tdbNo value/b/td); } else { out.println(td parameterValue /td); } } else { out.println(tdul); for (int i 0; i parameterValues.length; i) { out.println(li parameterValues[i] /li); } out.println(/ul/td); } } out.println(/table/body/html); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } 其对应的输出如下 注意的是getParameterNames()从不保证获取参数的顺序。 本文转自peiquan 51CTO博客原文链接:http://blog.51cto.com/peiquan/1312545