在Servlet中获取请求i信息
Servlet的Service()方法应答请求,因为每次请求都会调用service()方法
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.lyp.test.loginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern> ---->action
</servlet-mapping>
1)
public void service(ServletRequest request, ServletResponse response)throws ServletException, IOException {
System.out.println("请求来了");
}
ServletRequest :封装了请求信息,可以丛总获取到任何请求信息
request-------》 org.apache.catalina.connector.RequestFacade@42e807af
ServletResponse:封装了响应信息,如果想给用户什么响应,具体可以使用该接口的方法实现
这两个接口的实现类都是服务器给予实现的,并在服务器调用service()方法时传入
2) 。ServletRequest:
①获取请求参数
String getParameter(String name):根据请求参数名返回参数值
String【】 getParameterValues()
Enumerattion getParameterNames() :返回参数名对应的Enumeration对象
类似于ServletConfig(ServletContext)的getInitParameterNames()方法
String [] getParameterValues(String name)
Map getParameterMap() :返回请求参数的键值对,Key:参数名,value :参数值,String 数组类型
②获取URL
HttpServletRequest httpServletRequest =(HttpServletRequest) request;
String requestURI = httpServletRequest.getRequestURI();
syso(requestURI) // /WebProject/login
③.获取请求方式:
String method = httpServletRequest.getMethod();
Syso(method) // POST / GET
④ 获取请求的字符串,若是GET请求
String queryString = httpServletRequest.getQueryString();
syso(queryString) // user=12345432&password=21323&interesting=game&interesting=party
⑤ 获取请求的Servlet的映射路径
String servletpath = httpServletRequest.getServletPath()
syso(servletPath) "/login" 文件夹名
⑥。和attribute相关的方法;
3)。HTTPServletRequest: 是ServletRequest 的子接口,针对于HTTP请求所定义,里边包含了大量获取