1、获取servlet信息
每个注册的servlet名字都有与之相连的特定初始化(init)参数。servlet任何时候都可以使用这个初始化参数。它们在web.xml配置描叙符中并多在init中用来设置初始化和servlet的默认值。
①取得servlet初始化参数:
servlet用getInitParameter()方法来访问它的初始化参数:
public String servletConfig.getInitParameter(String name)
类GenericServlet实现接口ServletConfig并提供对方法getInitparameter()的直接访问。这就意味着这个方 法可如此调用:
public void init() throws ServletException {
String greeting=getInitParameter("greeting");
}
②取得servlet初始化参数名:
servlet用getInitParameterNames()来检测所有初始化参数。
public Enumeration ServletConfig.getInitParameterNames()
类GenericServlet还可以使该方法直接为servlet所用。
③取得servlet名称:
在ServletConfig接口中也可以返回一个servlet注册名称的方法:
public String ServletConfig.getServletName();
2、服务器:
servlet可查出很多所在服务器的信息。它可得到主机名、监听端口、服务器软件等等。servlet可将这些信息发送给客户端,用它来定制基于指定服务器包的操作,或直接来限制将要运行的服务器。
①取得服务器信息:
servlet可通过ServletContext对象来取得所在服务器大部分信息。
有5个方法来获得服务器信息,2个用发送到servlet的ServletRequest对象来调用。3个由servlet所在服务器中的ServletContext对象来调用。
public String ServletRequest.getServerName()//获得服务器名
public String ServletRequest.getServerPort()//获得服务器端口
public String ServletContext.getServerInfo()//获得服务器软件信息
public Object ServletContext.getServerAttribute(String name)//获得服务器软件的信息
public Enumeration ServletContext.getAttributeNames()//属性名获取
②取得环境初始化参数
servlet的初始化参数被传送到单个servlet.当多个servlet访问同一个初始化参数值时候,这些参数应该被设置成环境初始化参数。ServletContext有2个方法 -----getInitParameter()和
getInitParameterNames()来检索环境初始化信息:
public String ServletContext.getInitParameter(String name)
public Enumeration ServletContext.getInitParameterNames()
③确定servlet版本
public int ServletContext.getMajorVersion()
public int ServletContext.getMinorVersion()
3、客户端
因为对每个请求网页需要鉴别,servlet就有能力知道客户机和实际用户信息。这些信息中可用于登记访问数据,为各个用户填写信息或者限制对用户的访问。
①取得客户机的信息:
servlet能够使用getRemoteAddr()和getRemoteHost()来检索
public String ServletRequest.getRemoteAddr()
public String ServletRequest.getRemoteHost()
②取得用户信息:
public String HttpServletRequest.getRemoteUser()
当servlet调用getRemoteUser()时,服务器已确定用户身份并调用该servlet。
③请求:
现在我们已经知道了servlet如何查找服务器和客户端。现在进一步来看最重要的内容,servlet如何得到客户端的需求。
请求参数:每个对servlet作出请求都可能带着很多请求参数。这些参数都是一些名/值对来告诉servlet一些处理请求的附加信息。
public String ServletRequest.getParameter(String name)
public String[] ServletRequest.getParameterValues(String name)
public Enumeration ServletRequest.getParameterNames()
public String ServletRequest.getQueryString()//检索请求的查询字符串队列
取得路径信息:除了参数,HTTP请求还包含为附加路径信息或者虚拟路径的内容。通常,附加路径信息用于在servlet要使用的服务器上指明文件。这个路径信息被编码存放在HTTP请求的URL中。例如:http://server:port/servlet/viewFile/index.html.
这些代码调用ViewFile servlet把/index.html作为附加路径信息传递。servlet可访问这个路径信息并作将/index.html字符串转化为真正的 index.html路径。什么是/index.html真正的路径?它是完整的文件系统路径-客户端访问这个/index.html时服务器返回的路径,这个路径可能是document_root/index.html,当然,服务器可以将这个路径改变。除了在URL中明确指定外,这个附加路径信息也可以在HTML表单中的ACTION参数中以编码形式存在:
<form method=get action="/servlet/Dictionary/dict/definitions.text">
Word to look up:<input type=text name="word"><p>
<input type=submit><p>
</form>
这个表单调用Dictionary servlet来处理提交的信息并把附加路径信息/dict/definitions.text传到Dictionary中。
servlet可用getPathInfo()方法来获取附加路径信息:
public String HttpServletRequest.getPathInfo()//获取附加路径
public String HttpServletRequest.getPathTranslated()//转换为真实路径
public String ServletContext.getRealPath(String path)
取得MiME类型:一但servlet取得了文件的路径,它经常需要知道文件的类型。可用:
public String ServletContext.getMimeType(String file)来获取类型。
String type=getServletContext().getMimeType(req.getPathTranslated())
获取请求URI:
public String HttpServletRequest.getRequestURI()
如何被请求:
public String ServletRequest.getProtocol()//返回请求的协议和版本号
public String HttpServletRequest.getMethod()//返回请求HTTP方法
请求首部:
这个就不多说了,大家都很熟悉的。可以通过方法:
public String HttpServletRequest.getHeader(String name)
public long HttpServletRequest.getDateHeader(String name)
public int HttpServletRequest.getIntHeader(String name)
public Enumeration HttpServletRequest.getHeaders(String name)
输入流:每个由servlet处理的请求都有一个自身的输入流。正如一个servlet能向它的响应对象中的PrintWriter或者OutputStream写入一样,它可以从请求对象的Reader和InputStream中读数据。从数据流中读的数据可以位任何类型和长度。输入流有2个目的:将Post请求的内容传送到Http Servlet程序中;将客户端传送的原始数据传送到非HTTP servlet中。
public Bufferedreader ServletRequest.getReader() throws IOException
public ServletInputStream ServletRequest.getInputStream() throws IOException
public int ServletInputStream.readLine(byte b[],int off,int len) throws IOException
public String ServletRequest.getContentType()
public int ServletRequest.getContentLength()
分享到:
相关推荐
Java Servlet Programming 2nd Edition
Java Servlet Programming9
Java Servlet Programming
Java_Servlet_Programming__2nd_Edition.rar
里边讲到servlet的常用方法,并对其做了简明的说明
本资源通过几个Servlet实例,实现在Servlet中获取Servlet自身信息、服务器端信息和客户端信息
对Servlet基础知识进行总结,适合新手入门用,里面详细的介绍了Servlet运行原理以及如何创建等
Java Servlet Programming – PDF Books
Servlet中对获取网页表单数据自动给JavaBean赋值的BeanUtil工具类 Servlet中对获取网页表单数据自动给JavaBean赋值的BeanUtil工具类
jsp servlet开发总结文档 jsp Servlet总结jsp Servlet总结jsp Servlet总结
It introduces chapters on servlet security and advanced communication, and also introduces several popular tools for easier integration of servlet technology with dynamic Web pages including Java...
建立一个html网页让用户输入姓名、爱好等信息,然后传给servlet,最终展示出来。
主要介绍了Servlet and JSP 编程技术,适合JAVA初学者,是英文版的
JSP & Servlet 技术总结 JSP技术总结 2 1. JSP页面元素构成 2 2. JSP脚本元素 2 3. 注释 2 4. JSP指令 2 5. JSP动作元素 3 6. JSP内置对象 5 7. JSP内置对象及其作用 5 8. 获取页面参数 5 9. 重定向...
myeclipse mysql servlet从前端获取数据myeclipse mysql servlet从前端获取数据myeclipse mysql servlet从前端获取数据myeclipse mysql servlet从前端获取数据
servlet获取json的小例子
这个是因为找不到servlet源码和jdoc而自己总结和整理的.
servlet jsp总结servlet jsp总结servlet jsp总结servlet jsp总结