很多情况下,用户需要通过浏览器以表单的形式传递一些信息到Web服务器,最终到后台程序。表单数据经常使用两种方式将信息传递到Web服务器,Get方法和Post方法。
Get方法是默认地从浏览器向Web服务器提交信息的方法,它产生一个很长的字符串,出现在浏览器的地址栏中。如果要向服务器传递敏感信息,请避免使用Get方法。Get方法形成的URL字符串最多只能有1 024个字符,Servlet使用doGet()方法处理这种类型的请求。
Post方法是另外一个浏览器向Web服务器传递信息的方法。Post方法向Web服务器提交的信息不是作为URL中“ ?”字符后的文本字符串进行发送,而是把这些信息作为一个单独的消息,以标准的输出形式传递给Web服务器,Servlet使用doPost()方法处理这种类型的请求。
Servlet使用HttpServletRequest对象根据不同的情况使用不同的方法解析接收到的信息,如表3.1所示。
表3.1 HttpServletRequest对象解析接收到信息的方法
【例3.3】用户在表单中输入学号、姓名、爱好,提交Ser let处理后在页面显示用户输入的信息。
(1)右键单击WebContent目录,选择“File”→“New”→“HTML File”命令,在对话框的File Name文本框中输入student.html,单击“Finish”按钮。
(2)在student.html文件中的代码如下:
form标记的action属性规定当提交表单时向何处发送数据。属性值可以是HTML页面、JSP页面、Servlet或者其他的系统,method是以何种方法提交(Get方法还是Post方法)。在上面的表单中,有两个文本输入框、四个复选框(四个复选框的name属性值必须一致,value的值不同)以及一个提交按钮。当单击提交按钮时,表单数据提交到名为“studentServlet”(studentServlet的名字可以在web.xml中配置)的Servlet。在名为“studentServlet”的Servlet中对于单行文本框通过HttpServletRequest对象的getParameter()方法获取用户输入的值,对于复选框通过HttpServletRequest对象的getParameterValues()方法得到一个字符串数组。(www.xing528.com)
(3)参照【例3.1】新建一个Servlet类,类名为StudentServlet。该Servlet的代码如下所示。
(4)打开web.xml文件配置Servlet,代码如下所示。
(5)打开浏览器,在地址栏中输入http://localhost:8080/first_servlet/student.html,可以看到页面,输入姓名、学号信息、并选择爱好,如图3.15所示。
图3.15 信息输入页面
(6)单击提交按钮后,Servlet返回页面如图3.16所示。
图3.16 Servlet输出页面
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。