servlet表单处理使用GET()方法实例 及复选框
2017-04-08 12:05
597 查看
1、web目录下的hello.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <form action="HelloForm" method="get"> 网址名:<input type="text" name="name"> <br /> 网址:<input type="text" name="url"> <input type="submit" value="提交"> </form> </body> </html> 2、src下的HelloForm.java
public class HelloForm extends HttpServlet { private static final long serialVersionUID = 1L; public HelloForm(){ super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{ //设置响应内容类型 response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter();//准备输入 String title ="使用get方法读取表单数据"; //表单输入的数据中有中文则需要转码 String name = new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8"); String doType = "<!DOCTYPE HTML> \n"; out.println(doType + "<html>\n" + "<head><title>" + title +"</title></head>\n" + "<body bgcolor = \"#f0f0f0\">\n" + "<h1 align =\"center\"> "+ title + "</h1>\n" + "<ul>\n" + "<li><b>站点名</b>:" + name +"\n"+ "<li><b>网址</b>:" + request.getParameter("url")+"\n"+ "<ul>\n" + "</body></html>"); } protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ doGet(request,response); } } 2、设置一下web-xml
<servlet><!--定义servlet--> <servlet-name>HelloForm</servlet-name> <servlet-class>HelloForm</servlet-class><!--定义包.类--> </servlet> <servlet-mapping><!--映射路径--> <servlet-name>HelloForm</servlet-name> <url-pattern>/HelloForm</url-pattern><!--页面的映射路径,路径必须对应上否则会出现404--> </servlet-mapping>
3、试输入网址名和网址,然后点击"提交"按钮,Gif 演示如下:
读取所有的表单参数
1、ReadParams.javapublic class ReadParams extends HttpServlet { private static final long serialVersionUID = 1L; public ReadParams(){ super(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{ response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String title = "读取所有的表单数据"; String docType = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n"; out.println(docType + "<html>\n" + "<head><meta charset=\"utf-8\"><title>" +title +"</title></head>\n" +"body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title +"</h1>" + "<table width=\"100%\" border=\"1\" align=\"center\">\n" + "<tr bgcolor=\"#949494\">\n" + "<th>参数名称</th><th>参数值</th>\n"+ "</tr>\n");
Enumeration paramNames = request.getParameterNames(); while(paramNames.hasMoreElements()){//刚开始的时候Enumeration的游标指向-1,所以可以全部遍历 String paramName = (String)paramNames.nextElement(); out.println("<tr><td>" + paramName + "</td>\n"); String[] paramValues = request.getParameterValues(paramName); //读取单个值的数据 if(paramValues.length == 1){ String paramValue = paramValues[0]; if(paramValue.length() == 0) out.println("<td><i>没有值</i></td>"); else out.println("<td>" + paramValue +"</td>"); } else{//读取多个数据 out.println("<td><ul>"); for(int i = 0;i < paramValues.length;i++){ out.println("<li>" +paramValues[i]); } out.println("</ul></td>"); } out.println("</tr>"); } out.println("\n</table>\n</body></html>"); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ doGet(request,response); } }
2、test.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <form action="ReadParams" method="post" target="_blank"> <input type="checkbox" name="maths" checked="checked"/>数学 <input type="checkbox" name="physics" />物理 <input type="checkbox" name="chemistry" checked="checked"/>化学 <input type="submit" value="选择科学" /> </form> </body> </html> 3、web-xml
<servlet><!--定义servlet--> <servlet-name>ReadParams</servlet-name> <servlet-class>ReadParams</servlet-class><!--定义包.类--> </servlet> <servlet-mapping><!--映射路径--> <servlet-name>ReadParams</servlet-name> <url-pattern>/ReadParams</url-pattern><!--页面的映射路径,路径必须对应上否则会出现404--> </servlet-mapping>
现在使用上面的表单调用 Servlet,将产生以下结果:
将复选框数据传递到 Servlet 程序
当需要选择一个以上的选项时,则使用复选框。下面是一个 HTML 代码实例 checkbox.html,一个带有两个复选框的表单。<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<form action="CheckBox" method="POST" target="_blank">
<input type="checkbox" name="runoob" checked="checked" /> 菜鸟教程
<input type="checkbox" name="google" /> Google
<input type="checkbox" name="taobao" checked="checked" /> 淘宝
<input type="submit" value="选择站点" />
</form>
</body>
</html>
注意:如果doGet方法表单提交的数据中有中文数据则需要转码:String name =new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
相关文章推荐
- servlet_05 servlet使用表单的GET方法实例
- $.getJSON() 方法第二个参数的使用以及后台servlet如何处理。
- servlet_06 使用表单的POST方法实例
- [j2ee][servlet]使用get方法提交form表单时出现乱码解决方法
- jsp servlet 乱码处理方法-表单提交的 pos 和get 方式
- 使用 BeginGetRequestStream 方法对流实例发出异步请求
- iTEXT生成PDF文件使用方法 实例 示例 Servlet输出PDF文档方法
- Android HTTP实例 使用GET方法和POST方法发送请求
- Android 使用Post与Get方法进行表单提交数据
- Android HTTP实例 使用GET方法和POST方法发送请求
- 第二讲实例变量可见度,set/get方法,自定义初始化(代码) 及description的使用
- Android HTTP实例 使用GET方法和POST方法发送请求
- 实例讲解使用原生JavaScript处理AJAX请求的方法
- c语言libcurl 使用实例get/post方法+c语言字符串处理
- servlet接收get带中文参数请求的处理方法
- 在servlet的init方法中使用getServletConfig、getServletContext时发生nullpointerexception
- get方法提交表单的乱码处理
- 使用get方法提交form表单时出现乱码解决方法
- tomcat7.0使用servlet处理jsp表单(form)的web.xml配置
- 多种实例解析HTML表单form的使用方法