一、前言
通过前面的知识,我们了解并认识了Servlet,现在我们关心的问题是:我们是否能在Servlet里面获取到我们请求的信息。如果获取到了,我们就可以通过代码访问数据库。下面我们就要谈谈如何在Serlvet 中获取请求信息:
二、 如何在 Serlvet 中获取请求信息
Servlet 的 service() 方法用于应答请求,因为每次请求都会调用 service() 方法。
public void service(ServletRequest request, ServletResponse response)
更需要注意的是service() 方法有两个参数:
- ServletRequest: 封装了请求信息. 可以从中获取到任何的请求信息。
- ServletResponse: 封装了响应信息, 如果想给用户什么响应, 具体可以使用该接口的方法实现。
这两个接口(参数)的实现类都是服务器给予实现的, 并在服务器调用 service 方法时传入。
三、ServletRequest
ServletRequest封装了请求信息,可以从中获取到任何的请求信息。
ServletRequest下面有很多方法,下面只介绍几个常用方法。
①.获取请求参数的四个方法:
- String getParameter(String name):根据请求参数的名字, 返回参数值。(若请求参数有多个值(例如 checkbox), 该方法只能获取到第一个提交的值。)
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
String user = req.getParameter("user");
String password = req.getParameter("password");
System.out.println("用户名:" + user);
System.out.println("密码:" + password);
}
- String[] getParameterValues(String name):根据请求参数的名字, 返回请求参数对应的字符串数组。(此方法主要用于多选 checkbox)
前台JSP代码:
<form action="interestServlet" method="post">
我的爱好:
<input type="checkbox" name="interesting" value="reading">读书
<input type="checkbox" name="interesting" value="game">游戏
<input type="checkbox" name="interesting" value