·servlet的service()方法用于应答请求:每次请求都会调用service()方法
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException ServletRequest :封装了请求信息,可以获取任何的请求信息
ServletResponse :封装了相应信息,如果想给用户什么相应,可以具体使用该接口方法实现。
·ServletRequest(可以获取任何的请求信息)
1)获取请求参数
String getParameter() //获取一个,函数的参数就是input里面name的值
String[] getParameterValues //获取一组,checkbox
Enumeration getParameterNames() //获取所有的name值
Map getParameterMap() //获得键值对
@Override
public void service(ServletRequest Request, ServletResponse Response) throws ServletException, IOException {
//根据请求参数的名字,返回参数值。若有多个值(如checkbox),该方法只返回第一提交的值
String name1 = Request.getParameter("user");
System.out.println(name1);
String name2 = Request.getParameter("1");
System.out.println(name2);
String[] name3 = Request.getParameterValues("1");
for(String x: name3){
System.out.println(x);
} Enumeration<String> name4 = Request.getParameterNames();
while(name4.hasMoreElements()){
String name = name4.nextElement();
String val = Request.getParameter(name);
System.out.println(name+" :"+val);
}
System.out.println("service"); }
2)利用HttpServletRequest获取更多值:HttpServletRequest是ServletRequest的子接口,需要强转
上代码
HttpServletRequest re = (HttpServletRequest)Request;
String uri = re.getRequestURI();
System.out.println(uri);
总结:getRequestURI():请求uri
getQueryString():若是GET请求方式,获取?后面的信息
getServletPath():获取servlet的映射路径·
·ServletResponse (想给用户什么相应,可使用该接口方法实现)
PrintWriter getWriter()
PrintWriter out = Response.getWriter();
out.println("objk"); //在浏览器上打印objk