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

Servlet初始参数及其他

    博客分类:
  • java
阅读更多

最近在做一个东西的时候,用到servlet中的参数突然就分不清楚以下两者的关系:

        req.getAttribute("name");
        req.getParameter("name");

 汗颜啦,赶紧补习下。

 

这两个接口都位于ServletRequest中,用来处理请求间参数传递。首先来看看

 

public String getParameter(String name);

客户端和服务端之间的数据传递。比如从客户端发出一个http请求(GET/POST),请求中带有请求参数,那么就可以通过这个接口获取,其中所有的参数将作为String或null返回。比如有如下请求路径:

    http://localhost:8080/sample/query.htm?name=aaa&age=12
那么可以通过以下方式获取到值

String name = req.getParameter("name")
String age = req.getParameter("age")

当然,对POST请求中form表单的数据同样采用这种方式获取,其他类似的接口有:

public Enumeration getParameterNames();
public String[] getParameterValues(String name);
public Map getParameterMap();

 

public Object getAttribute(String name);

req.getAttribute()和setAttribute(String name, Object o)同时使用。考虑常见的场景,在执行一个查询操作后,需要将查询结果返回到页面展现,那么这个数据传递可以考虑如下使用
在servlet中:

req.setAttribute("list", new ArrayList<E>());

在页面需要获取到该数据

List list= (ArrayList)req.getAttribute("list");

 当然在现在的框架下这样的代码很少写了。

 

 

另一则,以下内容参考了http://hain.iteye.com/blog/70731

 

继续我们来看看servlet中的参数,主要有两种context-param和init-param

 

1、context-param 对应application范围内的参数,存放在servletcontext中,在web.xml中配置如下:

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring/spring-*.xml</param-value>
	</context-param>
	
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

 这是一个常见的加载spring的配置,这里需要在web容器启动时将spring的配置文件加载并将servletcontext装换为spring的容器中。当然基于这样的一个配置param-name是固定的contextConfigLocation了,可在相应的监听ContextLoaderListener父类中ContextLoader:

	/**
	 * Name of servlet context parameter (i.e., {@value}) that can specify the
	 * config location for the root context, falling back to the implementation's
	 * default otherwise.
	 * @see org.springframework.web.context.support.XmlWebApplicationContext#DEFAULT_CONFIG_LOCATION
	 */
	public static final String CONFIG_LOCATION_PARAM = "contextConfigLocation";

这样就会根据这个路径去读取相关的配置文件完成加载,当然<context-param>是可以配置多个,同时也一般和一个listener相对应。
在servlet中获取该值使用

getServletContext().getInitParameter("contextConfigLocation"));

 

 

2、init-param 这个就对应servlet中的参数,配置如下

	<servlet>
		<servlet-name>sales</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>name</param-name>
			<param-value>this is a servlet init-param</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

 在servlet中获取

this.getInitParameter("name")
分享到:
评论

相关推荐

    Servlet初始化参数演示例子[源代码]

    Servlet初始化参数演示例子[源代码]

    Servlet获取初始化参数.doc

    Servlet获取初始化参数.doc Servlet获取初始化参数.doc

    Servlet初始化参数和上下文初始化参数训练及处理数据库示例[汇编].pdf

    Servlet初始化参数和上下文初始化参数训练及处理数据库示例[汇编].pdf

    servlet读取初始化参数和属性文件的数据

    servlet读取初始化参数和属性文件的数据

    servlet temple

    缺省的 init() 方法设置了 Servlet 的初始化参数,并用它的 ServletConfig 对象参数来启动配置, 因此所有覆盖 init() 方法的 Servlet 应调用 super.init() 以确保仍然执行这些任务。在调用 service() 方法之前,应...

    Servlet过滤器使用

    在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 b、doFilter(ServletRequest,ServletResponse,FilterChain): 这个方法完成实际的过滤操作,当客户请求访问于过滤器关联的URL时,Servlet容器将先...

    实验5 Servlet初步2

    2、掌握Servlet初始化参数的设置和读取 2、通过重写init、destory、service函数体会Servlet的生命周期 3、Servlet初始化参数

    java-servlet-api.doc

    Servlet引擎载入Servlet后,Servlet引擎必须对Servlet进行初始化,在这一过程中,你可以读取一些固定存储的数据、初始化JDBC的连接以及建立与其他资源的连接。 在初始化过程中,javax.servlet.Servlet接口的init()...

    JSP与Servlet 技术总结

    JSP & Servlet 技术总结 ...6. 在web.xml里配置的初始化参数怎么才能读回来? 12 7. 如何获得网页中form表单中的参数 12 8. session跨请求(页面)传数据怎么实现? 12 9. 过滤器如何使用? 13 10. 监听器如何使用? 13

    Java™ Servlet 规范.

    1.4 Servlet 与其他技术的比较 ........................................................................................................................14 1.5 与 Java 平台企业版的关系 ......................

    Servlet实例

    实例1:获取初始化参数 实例2:Servlet获取服务器的运行参数 } 实例3:Servlet处理HTML表单 实例1:获取初始化参数 实例2:Servlet获取服务器的运行参数 } 实例3:Servlet处理HTML表单

    ServletConfig与ServletContext.docx

    注意:每个servlet有一个ServletConfig,...如果修改XML来改变一个初始化参数的值,只有当Web应用重新部署时Web应用其他部分才会看到,因为servlet只会初始化一次,在初始化时会为它提供ServletConfig和ServletContext。

    servlet_learning:用于学习 servlet 的 Git 项目

    学习 Servlet 用于学习 servlet 的 Git 项目 要在 Eclipse 中运行此项目,请将其作为 Maven 项目导入。... e76048fb - 添加到它的初始化参数和 servlet 上下文参数 e8632ca7 - 为 servlet 和 init 参数引入的注释

    Servlet3.1规范(最终版) PDF

    Servlet 与其他技术的比较 ........................................................................................................................ 14 与 Java 平台企业版的关系 .............................

    JSP 从配置文件获取参数详解

    javax.servlet.ServletContext接口(上下文参数)是针对整个项目的全局设置, 而javax.servlet.ServletConfig接口(初始化参数)是针对当前Servlet的设置。 两者的设置内容都写在web.xml中。在Eclipse中新建Servlet时, ...

    用web.xml控制Web应用的行为

    Tomcat 10 5 初始化和预装载servlet与JSP页面 10 5.1 分配servlet初始化参数 10 5.2 分配JSP初始化参数 13 5.3 提供应用范围内的初始化参数 15 5.4 在服务器启动时装载servlet 15 6 声明过滤器 16...

    servlet电子书籍 pdf格式

    3、通过标签来配置初始化参数.................................7 2.4 Get请求和Post请求 ................................................................7 2.5 ServletRequest ................................

    struts2的总结,适合初学者

    这两个参数与容器相关,如果想在servlet中作单元测试,则必须初始化这两个参数。 4、如果一个servlet中有很多个方法,则必须采用传递参数的形式,分解到每一个方法中。 2重构servlet 针对servlet以上的特点,我们...

    NCC-OpenAPI示例文档.zip

    开发OpenAPI流程及说明 1.UAP与Restlet框架的集成 ...UAPRestJaxRsApplication:application级别的参数,只有第一次调用servlet时会执初始化 将上述配置的信息移入hotwebs/nccloud工程项目下 相应的配置信息如下:

    web.xml详细说明

    &lt;context-param&gt;&lt;/context-param&gt; context-param元素声明应用范围内的初始化参数。 &lt;filter&gt;&lt;/filter&gt; 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。 &lt;filter-mapping&gt;&lt;/filter-mapping&gt; ...

Global site tag (gtag.js) - Google Analytics