ServletRequest学习

来源:互联网 发布:淘宝模特摄影师 编辑:程序博客网 时间:2024/05/29 13:22

1、前言

Servlet的生命历程包括构造函数-->init方法 ->每请求一次调用一次service方法->destroy,Servlet的service()方法用于应答请求,因为每次请求都会调用service方法;
public void service(ServletRequest request, ServletResponse response)

ServletRequest:封装了请求消息,可以从中获取到任何的请求信息;
ServletResponse:封装了相应信息,如果想给用户什么响应,具体可以使用该接口的方法实现;

这两个接口的实现类都是服务器给予实现的,并在服务器调用service方法时传入的。

2、通过ServletRequest获取form表单传递的参数

<form action="LoginServlet" method="post"><input type="text" name="user"><input type="password" name="password"><br/><input type="checkbox" name="hobby" value="sing">sing<input type="checkbox" name="hobby" value="eat">eat<input type="checkbox" name="hobby" value="swim">swim<input type="submit" value="提交"></form>
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {String user = request.getParameter("user");String password = request.getParameter("password");System.out.println("user:" + user);System.out.println("password:" + password);String[] hobbys = request.getParameterValues("hobby");for(String hobby:hobbys) {System.out.println(hobby);}}
<servlet>  <servlet-name>loginServlet</servlet-name>  <servlet-class>third.LoginServlet</servlet-class>  </servlet>  <servlet-mapping>  <servlet-name>loginServlet</servlet-name>  <url-pattern>/LoginServlet</url-pattern>  </servlet-mapping>

使用getParameter(String name)获取单个参数值;
使用getParameterValues(String name):将参数值生成String数组,适用于获取像checkbox这种一个名字多个值的表单项;

3、获取参数传递方式

HttpServletRequest:是ServletRequest的子接口,针对于HTTP请求所定义,里面包含了大量获取HTTP请求相关的方法。
HttpServletRequest httpServletRequest = (HttpServletRequest) request;//获取HttpServletRequest
String method = httpServletRequest.getMethod();System.out.println("method:" + method);//与form表单中method属性的值相对应


ServletRequest API:ServletRequest


原创粉丝点击