`
pursue_excellence
  • 浏览: 12825 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

servlet programming中的获取信息总结

阅读更多
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 Programming9

    5. **会话管理**:Servlet API提供了会话跟踪的功能,通过`HttpServletRequest.getSession()`创建或获取HttpSession对象,可以存储用户状态信息。 6. **过滤器(Filter)**:Java Servlet API还定义了过滤器接口,...

    Java Servlet Programming 2nd Edition

    4. **Servlet API**:Java Servlet API包含一系列接口和类,如`javax.servlet.Servlet`、`javax.servlet.http.HttpServlet`、`javax.servlet.ServletConfig`等,提供了处理请求、响应的方法,以及获取配置信息的途径...

    Servlet_API中文手册

    在Servlet实例化时,Web容器会传递一个ServletConfig对象,可以通过它获取Servlet的配置信息。 5. **ServletContext**:代表整个Web应用的上下文,可以视为所有Servlet共享的信息存储区。它提供全局的初始化参数,...

    servlet-api-src.jar

    在`servlet-api-src.jar`中,`META-INF`可能包含了MANIFEST.MF文件,这是一个重要的元数据文件,它记录了JAR文件的属性,如版本信息、主类(如果有的话)以及依赖的其他库。 了解Servlet API对于Java Web开发者至关...

    servlet api

    了解Servlet API,你可以参考官方文档、在线教程、书籍如《Java Servlet Programming》等,同时动手实践编写简单的Servlet应用,加深理解。 总的来说,Servlet API是Java Web开发的核心组件,它定义了服务器端与...

    文华学院,javaweb上机练习题目1

    在 Servlet 中,Request 对象用于获取客户端发送的请求信息,而 Response 对象用于发送响应信息给客户端。在这个上机练习中,我们将使用 Request 对象来获取用户输入的用户名和密码,然后使用 Response 对象来重定向...

    JDP+Servlet的OA系统 数据库读取菜单

    在Servlet中,可以通过HttpServletRequest对象获取到用户信息,比如登录状态和角色ID。然后,执行SQL查询(例如,根据角色ID查询可访问的菜单项),获取菜单数据,并将这些数据封装成一个集合,如List或者Map。接着...

    servlet api帮助文档,Junit api,spring 2.5api

    ServletConfig接口则提供了获取Servlet配置信息的途径。此外,`ServletContext`接口是整个Web应用的共享上下文,可以用来进行全局的通信和资源管理。Servlet API还包括过滤器(Filter)和监听器(Listener)机制,...

    JAVA100例之实例80Servlet_Login实现登录

    Servlet是Java类,它遵循Servlet API(Application Programming Interface)规范,由Java Servlet容器(如Tomcat)管理。当客户端(通常是Web浏览器)向Web服务器发送请求时,Servlet容器会调用Servlet的相应方法来...

    JSP和Servlet工程师培训13

    **API(Application Programming Interface)技术** 在JSP和Servlet中扮演着关键角色,提供了丰富的类和方法供开发者使用。例如: 1. **HttpServletRequest和HttpServletResponse**:HTTP请求和响应的Java表示,...

    超市管理系统(MyBatis+Spring+Servlet)

    【标题】"超市管理系统(MyBatis+Spring+Servlet)"是将三个核心的Java Web技术结合使用,构建出的一款全面的、适用于中小型企业后台管理的软件系统。这个系统能够帮助超市实现库存管理、销售记录、会员管理等多种...

    面试知识点总结--Spring 应用框架技术.pdf

    Spring 应用框架技术知识点总结 Spring 是一个流行的 Java 应用框架,它提供了许多功能强大且灵活的技术来帮助开发者快速构建企业级...然后,在页面中可以使用 applictionContext.getMessage 方法来获取对应的信息。

    programming-Dictionary.zip_Jsp/Servlet_Java_

    - **视图(View)**:展示数据,以用户友好的方式显示从模型获取的信息,主要由JSP页面构成。 - **控制器(Controller)**:接收用户请求,调用模型进行处理,并将结果传递给视图进行展示,这部分通常由Servlet实现...

    几种spring获取bean的方法.txt

    根据提供的文件信息,我们可以总结出以下关于Spring框架中获取Bean的几种方法的相关知识点: ### Spring框架简介 Spring框架是一款开源的轻量级Java EE应用程序开发框架,它通过提供一系列强大的功能来简化Java...

    Servlets and JSP API文档

    `ServletRequest`和`ServletResponse`接口则分别用于获取请求信息和发送响应。 JSP是一种视图技术,它将HTML代码与Java代码混合在一起,允许开发者在页面上直接嵌入业务逻辑。JSP API主要包含在`javax.servlet.jsp`...

    JavaEE面试题 用于学习

    **配置Servlet时的主要信息**: - `&lt;servlet&gt;` 元素用于定义 Servlet 的具体实现。 - `&lt;servlet-name&gt;`:定义 Servlet 的名称,通常是类名。 - `&lt;servlet-class&gt;`:指定 Servlet 的实现类。 - `&lt;servlet-mapping&gt;...

    restful programming guide

    通过在Apache Tomcat中集成Jersey,开发者可以平滑地从Servlet风格的服务过渡到RESTful服务。 RESTful Web服务的核心概念是资源,它通过全局ID(通常是URI)进行识别。客户端通过使用HTTP方法来操作资源或资源集合...

    Java框架面试题总结

    ### Java框架面试题总结 #### Struts篇 **1. Struts的工作流程** Struts框架是一种基于MVC(Model-View-Controller)架构模式的Java Web应用框架。它的工作流程如下: - **客户端发起请求**:客户端通过浏览器或...

    《Velocity1.4 java开发指南》中文版

    - **Servlet Programming**:讲解了Velocity在Servlet环境中的具体编程实践。 - **Deployment**:讨论了Velocity应用的部署策略。 6. **通用应用** - **Using Velocity In General Applications**:探讨了在非...

Global site tag (gtag.js) - Google Analytics