首页 / SERVLET / 与Servlet相关的接口
与Servlet相关的接口
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了与Servlet相关的接口,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5764字,纯文字阅读大概需要9分钟。
内容图文
![与Servlet相关的接口](/upload/InfoBanner/zyjiaocheng/1154/344cfc82337841b5bfada0f1fbbf161a.jpg)
ServletConfig
一个ServletConfig对象对应一个特定的一个Servlet的一段配置信息,只能获取servlet的初始化参数:
1 < servlet > 2 3 < servlet-name >HelloServlet</servlet-name> 4 5<servlet-class>yu.servlet.HelloServlet</servlet-class> 6 7<init-param> 8 9<param-name>p1</param-name>1011<param-value>v1</param-value>1213</init-param>1415<init-param>1617<param-name>p2</param-name>1819<param-value>v2</param-value>2021</init-param>2223<!--标签之间存在顺序-->2425<load-on-startup>1</load-on-startup>2627</servlet>
ServletConfig在 Servlet接口中的init(ServletConfig servletConfig) 方法中出现过,但是这个方法不由我们自己调用,所以服务器会给init方法传递一个实现了ServletConfig接口的实例对象,我们来看一ServletConfig接口中的方法:
String getServletName(); |
方法返回<servlet-name>这个标签中配置的内容 |
ServletContext getServletContext(); |
方法返回一个ServletContext对象,这个对象是三大域对象之一,后面会详细说 |
String getInitParameter(String var1); |
获取初始化参数,方法参数是<param-name>标签中配置的内容,返回值是<param-value>标签中的配置的内容 |
Enumeration<String> getInitParameterNames(); |
返回所有初始化参数的名字的枚举 |
HttpServletRequest 和HttpServletResponse
这两个接口是在HttpServlet重载的service方法中当作参数的,所以服务器也会给分别方法传递实现了这两接口的实例对象,我们可以使用这两个对象,获取客户端的请求信息,客户端的所有请求信息将被封装到一个HttpServletRequest对象中,以及对客户端做出响应,这两个接口中的方法是我们最常用的方法。
HttpServletRequest的一些功能:
-
封装了请求头数据,Http请求报文中的请求头及对应的值,都可以获取到
-
封装了请求正文的数据,Http请求报文中的请求体(请求正文),如果是GET请求,则没有请求体
-
域对象,可以往其中添加数据,也可以获取数据,这四个方法是从ServletRequest中继承来的,
-
Object getAttribute(String var1);
-
Enumeration<String> getAttributeNames();
-
void setAttribute(String var1, Object var2);
-
void removeAttribute(String var1);
-
-
提供了请求转发和请求包含功能,
String getCharacterEncoding(); |
获取请求的编码方式 |
void setCharacterEncoding(String var1) throws UnsupportedEncodingException; |
设置请求的编码方式 |
int getContentLength(); |
获取请求正文的长度,以字节为单位 |
long getContentLengthLong(); |
适用请求正文超过2G的大小的请求 |
String getContentType(); |
返回请求的MIME(多用途互联网邮件拓展)类型 |
ServletInputStream getInputStream() throws IOException; |
获取请求的inputStream,获取字节数据, |
String getParameter(String var1); |
获取请求参数 |
Enumeration<String> getParameterNames(); |
获取所有的请求参数的名字 |
String[] getParameterValues(String var1); |
获取所有的请求参数的值 |
Map<String, String[]> getParameterMap(); |
获取所有的请求参数的名字和值,封装到一个Map中,这个方法很有用 |
String getProtocol(); |
获取应用层协议的具体类型如:HTTP/1.1 |
String getScheme(); |
获取使用的应用层协议如:http |
String getServerName(); |
获取请求报文中的主机名,如localhost |
int getServerPort(); |
获取请求端口号,如:8080 |
BufferedReader getReader() throws IOException; |
获取请求的输入流对象,读取字符数据BufferedReader继承于Reader类 |
String getRemoteAddr(); |
获取客户端的IP地址,网络层的内容 |
String getRemoteHost(); |
也是获取IP地址,测试了跟上面的方法一样 |
Locale getLocale();前客户端浏览器的Locale。java.util.Locale表示国家和言语,这个东西在国际化中很有用; |
前客户端浏览器的Locale。java.util.Locale表示国家和言语,这个东西在国际化中很有用; |
Enumeration<Locale> getLocales(); |
获取所有支持的语言 |
boolean isSecure(); |
是否使用加密传输,即使用HTTPS |
RequestDispatcher getRequestDispatcher(String var1); |
得到一个转发器,用于请求转发 |
以上的方法都是从ServletRequest中继承而来,下面的方法是自己定义的:
String getAuthType(); |
|
Cookie[] getCookies(); |
获取客户端发送过来的所有cookie |
long getDateHeader(String var1); |
获取单值毫秒类型的请求头 |
String getHeader(String var1); |
获取请求头 |
Enumeration<String> getHeaders(String var1); |
获取多值请求头 |
Enumeration<String> getHeaderNames(); |
获取多值请求头的的名字 |
int getIntHeader(String var1); |
获取单值int类型的请求头 |
String getMethod(); |
获取请求方法 |
String getPathInfo(); |
|
String getPathTranslated(); |
|
String getContextPath(); |
返回上下文路径 |
String getQueryString(); |
返回请求URL中的参数 |
String getRemoteUser(); |
|
boolean isUserInRole(String var1); |
|
Principal getUserPrincipal(); |
|
String getRequestedSessionId(); |
|
String getRequestURI(); |
返回请求URI路径,例如:/hello/oneServlet |
StringBuffer getRequestURL(); |
http://localhost/hello/oneServlet,返回URL路径如即返回除了参数以外的路径信息; |
String getServletPath(); |
返回Servlet路径,例如:/oneServlet |
HttpSession getSession(boolean var1); |
获取session,若没有true创建,false不创建 |
HttpSession getSession(); |
获取session,若没有创建之 |
String changeSessionId(); |
获取sessionID,如果存在的话 |
boolean isRequestedSessionIdValid(); |
|
boolean isRequestedSessionIdFromCookie(); |
|
boolean isRequestedSessionIdFromURL(); |
|
有关路径的获取看这个图可能更加清晰一点,还要注意一点,获取请求参数的方法,不区分是RUL后面的参数,还是请求体中的参数,都可以获取到,上面是HttpServletRequest中的全部方法,可能有的方法用的也不多。
HttpServletResponse的一些功能:
-
设置响应头
-
发送响应码
-
设置响应正文
-
重定向
-
其实重定向也是设置一个Location响应头和302状态码
-
ServletResponse中的一些方法:
String getCharacterEncoding(); |
获取设置的字符编码 |
String getContentType(); |
获取设置的响应正文的MIME类型 |
ServletOutputStream getOutputStream() throws IOException; |
获取字节输出流, |
PrintWriter getWriter() throws IOException; |
获取字符输出流 |
void setCharacterEncoding(String var1); |
设置响应字符的字符编码 |
void setContentLength(int var1); |
设置响应的长度 |
void setContentLengthLong(long var1); |
同上,超过2G使用这个方法设置 |
void setContentType(String var1); |
设置响应正文的MIME类型, |
void setBufferSize(int var1); |
设置缓冲区大小(Writer),默认8KB |
int getBufferSize(); |
获取缓冲区大小 |
void flushBuffer() throws IOException; |
冲刷缓冲区 |
void resetBuffer(); |
重置缓冲区 |
boolean isCommitted(); |
? |
void reset(); |
? |
void setLocale(Locale var1); |
? |
Locale getLocale(); |
? |
下面是HttpServletResponse自己定义的方法,一般自己定义的方法都是跟http协议有关的:
void addCookie(Cookie var1); |
添加cookie,注意参数是一个Cookie对象 |
boolean containsHeader(String var1); |
是否已经设置了某个响应头? |
String encodeURL(String var1); |
把会话ID嵌入URL,返回一个正确的URL |
String encodeRedirectURL(String var1); |
重定向中嵌入会话ID,返回处理过的URL 这两个方法在会话跟踪中使用 |
void sendError(int var1, String var2) throws IOException; |
发送错误状态码和短语 |
void sendError(int var1) throws IOException; |
发送错误状态码 |
void sendRedirect(String var1) throws IOException; |
重定向 |
void setDateHeader(String var1, long var2); |
设置单值毫秒类型的响应头 |
void addDateHeader(String var1, long var2); |
设置多值毫秒类型的响应头 |
void setHeader(String var1, String var2); |
设置单值响应头 |
void addHeader(String var1, String var2); |
设置多值响应头 |
void setIntHeader(String var1, int var2); |
设置单值int类型响应头 |
void addIntHeader(String var1, int var2); |
设置多值int类型响应头 |
int getStatus(); |
获取设置的状态码? |
String getHeader(String var1); |
获取设置的单值响应头? |
Collection<String> getHeaders(String var1); |
获取设置的多值响应头? |
Collection<String> getHeaderNames(); |
获取设置的所有的响应头的名字? |
原文:https://www.cnblogs.com/yusiming/p/9748380.html
内容总结
以上是互联网集市为您收集整理的与Servlet相关的接口全部内容,希望文章能够帮你解决与Servlet相关的接口所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。