Java Servlet 编程及应用之四

小爷就爱利物浦

小爷就爱利物浦

2016-02-19 12:00

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是Java Servlet 编程及应用之四,一起来学习了解下吧!
 HttpServlet 是从GenericServlet 继承而来,因此它具有GenericServlet 类似的方法和对象,是我们使用Servlet编程经常用到的包,它支持HTTP 的post 和 get 等方法。

编程思路:下面的例子,运行结果是输出简单地返回客户发送给服务器的请求行和头部信息,以及一些可访问的HTTP 信息等。


SnoopServlet.java 的源代码如下:

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.*;
import javax.servlet.http.*;


public class SnoopServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
response.setContentType("text/plain");

out.println("Snoop Servlet");
out.println();
out.println("Servlet init parameters:");
Enumeration e = getInitParameterNames();
while (e.hasMoreElements()) {
String key = (String)e.nextElement();
String value = getInitParameter(key);
out.println(" " + key + " = " + value);
}
out.println();

out.println("Context init parameters:");
ServletContext context = getServletContext();
Enumeration enum = context.getInitParameterNames();
while (enum.hasMoreElements()) {
String key = (String)enum.nextElement();
Object value = context.getInitParameter(key);
out.println(" " + key + " = " + value);
}
out.println();

out.println("Context attributes:");
enum = context.getAttributeNames();
while (enum.hasMoreElements()) {
String key = (String)enum.nextElement();
Object value = context.getAttribute(key);
out.println(" " + key + " = " + value);
}
out.println();

out.println("Request attributes:");
e = request.getAttributeNames();
while (e.hasMoreElements()) {
String key = (String)e.nextElement();
Object value = request.getAttribute(key);
out.println(" " + key + " = " + value);
}
out.println();
out.println("Servlet Name: " + getServletName());
out.println("Protocol: " + request.getProtocol());
out.println("Scheme: " + request.getScheme());
out.println("Server Name: " + request.getServerName());
out.println("Server Port: " + request.getServerPort());
out.println("Server Info: " + context.getServerInfo());
out.println("Remote Addr: " + request.getRemoteAddr());
out.println("Remote Host: " + request.getRemoteHost());
out.println("Character Encoding: " + request.getCharacterEncoding());
out.println("Content Length: " + request.getContentLength());
out.println("Content Type: "+ request.getContentType());
out.println("Locale: "+ request.getLocale());
out.println("Default Response Buffer: "+ response.getBufferSize());
out.println();
out.println("Parameter names in this request:");
e = request.getParameterNames();
while (e.hasMoreElements()) {
String key = (String)e.nextElement();
String[] values = request.getParameterValues(key);
out.print(" " + key + " = ");
for(int i = 0; i values.length; i++) {
out.print(values[i] + " ");
}
out.println();
}
out.println();
out.println("Headers in this request:");
e = request.getHeaderNames();
while (e.hasMoreElements()) {
String key = (String)e.nextElement();
String value = request.getHeader(key);
out.println(" " + key + ": " + value);
}
out.println();
out.println("Cookies in this request:");
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i = 0; i cookies.length; i++) {
Cookie cookie = cookies[i];
out.println(" " + cookie.getName() + " = "+ cookie.getValue());
}
}
out.println();

out.println("Request Is Secure: " + request.isSecure());
out.println("Auth Type: " + request.getAuthType());
out.println("HTTP Method: " + request.getMethod());
out.println("Remote User: " + request.getRemoteUser());
out.println("Request URI: " + request.getRequestURI());
out.println("Context Path: " + request.getContextPath());
out.println("Servlet Path: " + request.getServletPath());
out.println("Path Info: " + request.getPathInfo());
out.println("Path Trans: " + request.getPathTranslated());
out.println("Query String: " + request.getQueryString());

out.println();
HttpSession session = request.getSession();
out.println("Requested Session Id: " +
request.getRequestedSessionId());
out.println("Current Session Id: " + session.getId());
out.println("Session Created Time: " + session.getCreationTime());
out.println("Session Last Accessed Time: " +session.getLastAccessedTime());
out.println("Session Max Inactive Interval Seconds: " + session.getMaxInactiveInterval());
out.println();
out.println("Session values: ");
Enumeration names = session.getAttributeNames();
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
out.println(" " + name + " = " + session.getAttribute(name));
}
}
}

编程技巧说明:

程序输出Init Parameters(初始化参数)、Attribute names in this request、Parameter names in this request、Headers in this request、Cookies in this request 和 Session Information等信息。
方法getRequestURI返回的对象URI 是作为URL 的一部分,是去掉URL 中用于指定机器的那部分;方法getPathInfo 返回的字符串是客户向Servlet 传送的各种选项,这些选项是跟在Servlet 的URL 之后的,方法getPathTranslated 返回的字符串是Servlet 的自己的绝对路径名,SnoopServlet.class 文件位置是C:jswdk-1.0.1examplesWEB-INFservletsSnoopServlet.class,则方法getPathTranslated 返回的字符串值就是它。

在浏览器中输入如下的地址:

http://localhost:8080/examples/servlet/SnoopServlet
则会输出结果。
展开更多 50%)
分享

猜你喜欢

Java Servlet编程及应用之四

编程语言 网络编程
Java Servlet编程及应用之四

Java Servlet 编程及应用之四

编程语言 网络编程
Java Servlet 编程及应用之四

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java Servlet 编程及应用之五

编程语言 网络编程
Java Servlet 编程及应用之五

Java Servlet编程及应用之五

编程语言 网络编程
Java Servlet编程及应用之五

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java Servlet 编程及应用之七

编程语言 网络编程
Java Servlet 编程及应用之七

Java Servlet 编程及应用之二

编程语言 网络编程
Java Servlet 编程及应用之二

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Java Applet程序设计基础

Java Applet程序设计基础

JS+CSS模拟IP输入框

JS+CSS模拟IP输入框
下拉加载更多内容 ↓