1.首先需要了解web.xml 两种参数
(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如
<context-param>
<param-name>context/param</param-name>
<param-value>avalible during application</param-value>
</context-param>
这
代码中获取这个参数
(2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下:
<servlet>
<servlet-name>MainServlet</servlet-name>
<servlet-class>com.wes.controller.MainServlet</servlet-class>
[color=red] <init-param>
<param-name>param1</param-name>
<param-value>avalible in servlet init()</param-value>
</init-param>[/color]
<load-on-startup>0</load-on-startup>
</servlet>
在servlet中可以通过代码分别取用:
在servlet中可以通过代码分别取用:
public class MainServlet extends HttpServlet{
public MainServlet(){
super();
}
public void init() throws ServletException ...{
System.out.println("下面的两个参数param1是在servlet中存放的");
System.out.println(this.getInitParameter("param1"));
System.out.println("下面的参数是存放在servletcontext中的");
System.out.println(getServletContext().getInitParameter("context/param"));
}
}
public class MainServlet extends HttpServlet{
public MainServlet(){
super();
}
public void init() throws ServletException ...{
System.out.println("下面的两个参数param1是在servlet中存放的");
System.out.println(this.getInitParameter("param1"));
System.out.println("下面的参数是存放在servletcontext中的");
System.out.println(getServletContext().getInitParameter("context/param")); }
}
第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到
在JSP中可以用config.getServletContext().getInitParameter("context/param")得到
或者this.getServletContext().getInitParameter("context/param")
第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取得
2.接下来,我们言归正转,开始配置spring.
方法1:
<servlet>
<servlet-name>springDemo</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>namespace</param-name>
<param-value>WEB-INFO/springDemo-servlet</param-value>
</init-param>
<!--servlet加载方式,启动容器时加载-->
<load-on-startup>1</load-on-startup>
</servlet>
多文件配置
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:conf/applicationContextN.xml
classpath*:conf/applicationContextN-1.xml
...
classpath*:conf/applicationContext.xml
</param-value>
<init-param>
方法2:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext_*.xml</param-value>
</context-param>
多个配置文件的加载
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:conf/spring/applicationContext_N.xml,
classpath*:conf/spring/applicationContext_N-1.xml,
...
classpath*:conf/spring/applicationContext_.xml
</param-value>
</context-param>
文件放在Src下面也是可以的,部署的时候,都会编译到classes目录下面去.
还有一步最得重要的
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。至于ApplicationContext.xml这个配置文件部署在哪,如何配置多个xml文件,书上都没怎么详细说明。现在的方法就是查看它的API文档。在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。看看它的API说明
第一段说明ContextLoader可以由 ContextLoaderListener和ContextLoaderServlet生成。如果查看ContextLoaderServlet的API,可以看到它也关联了ContextLoader这个类而且它实现了HttpServlet。 这个接口
第二段,ContextLoader创建的是 XmlWebApplicationContext这样一个类,它实现的接口是WebApplicationContext->ConfigurableWebApplicationContext->ApplicationContext->
BeanFactory这样一来spring中的所有bean都由这个类来创建
第三段,讲如何部署applicationContext的xml文件,如果在web.xml中不写任何参数配置信息,默认的路径是"/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。如果是要自定义文件名可以在web.xml里加入contextConfigLocation这个context参数:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext-*.xml
</param-value>
</context-param>
在<param-value> </param-value>里指定相应的xml文件名,如果有多个xml文件,可以写在一起并一“,”号分隔。上面的applicationContext-*.xml采用通配符,比如这那个目录下有applicationContext-ibatis-base.xml,applicationContext-action.xml,applicationContext-ibatis-dao.xml等文件,都会一同被载入
分享到:
相关推荐
Spring、Spring MVC、MyBatis源码深度剖析》以SSM 的核心代码剖析为基础,突破Java Web 研发瓶颈的束缚,选取Spring、SpringMVC 和MyBatis 框架中易于理解的版本,深入剖析了其中各个模块的实现,从代码中挖掘常用的...
Spring、Spring MVC、MyBatis源码深度剖析》以SSM 的核心代码剖析为基础,突破Java Web 研发瓶颈的束缚,选取Spring、SpringMVC 和MyBatis 框架中易于理解的版本,深入剖析了其中各个模块的实现,从代码中挖掘常用的...
URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的...
《Spring框架源码深度解析》 Spring框架是Java开发领域中的一个核心组件,以其强大的功能、灵活的设计和...无论是初学者还是经验丰富的开发者,都应该尝试去挖掘Spring源码中的宝藏,这将极大地提升你的Java开发技能。
总的来说,Spring 4 源码的学习是一个深度挖掘的过程,涉及到 Java、设计模式、企业级开发等多个领域。通过这个过程,开发者不仅可以提升自己的技能,还能更好地利用 Spring 框架解决实际问题。
遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施...
《Spring源码深度解析》 在Java开发领域,Spring框架无疑是最重要的组件之一,它以其强大的功能和灵活性赢得了广大开发者的心。...Spring源码深度解析的过程,就是不断提升自我、挖掘技术潜力的过程。
总的来说,《Spring in Action》中文版不仅适合初学者了解和学习Spring的基本原理,也适合有经验的开发者深入挖掘Spring的高级特性和最佳实践。无论是PDF还是CHM格式,都能为读者提供丰富的学习资源,助你在Spring的...
展现层应用 第19章 Spring MVC之一 第20章 Spring MVC之二 第21章 集成其他Web框架 第6篇 其他 第22章 Spring应用的测试 第23章 Spring工具类盘点 附录A 各种数据库连接配置及驱动 附录B ...
对于有经验的开发者,手册提供了深度挖掘和优化应用的指南,有助于提升项目开发效率。 综上所述,"spring2.0-reference_final_zh_cn.chm"是Java开发者必备的工具,无论你是初学者还是资深开发者,都能从中受益匪浅...
展现层应用 第19章 Spring MVC之一 第20章 Spring MVC之二 第21章 集成其他Web框架 第6篇 其他 第22章 Spring应用的测试 第23章 Spring工具类盘点 附录A 各种数据库连接配置及驱动 附录B ...
展现层应用 第19章 Spring MVC之一 第20章 Spring MVC之二 第21章 集成其他Web框架 第6篇 其他 第22章 Spring应用的测试 第23章 Spring工具类盘点 附录A 各种数据库连接配置及驱动 附录B ...
4. **深度学习推荐(Deep Learning-based Recommendation)**:利用神经网络模型,如矩阵分解、卷积神经网络或循环神经网络,挖掘用户行为的潜在特征,进行更精准的个性化推荐。 在实际开发中,需要结合业务需求和...
《SSM框架在唐朝与宋朝历史数据管理中的应用》 在现代信息技术中,软件开发框架扮演着至关重要的角色,它们提供了...这样的系统对于研究和展示古代历史文化具有极大的价值,能够帮助我们更好地理解和挖掘历史的深度。
标题 "人工智能-项目实践-信息检索-专利检索系统Spring" 提到的是一个基于Spring框架的人工智能项目,专注于信息检索,特别是专利数据的检索。在这个系统中,Spring扮演着核心角色,提供了一个强大的后端开发框架,...
Neo4j可以高效存储和查询这种关系型数据,帮助构建论文之间的关联网络,支持深度挖掘和分析。 4. Spark朴素贝叶斯分类器: Apache Spark是一个分布式计算框架,适用于大数据处理。在本项目中,Spark可能被用于并行...
SSM(Spring、SpringMVC、MyBatis)是一个流行的企业级Java Web开发框架,由Spring框架、Spring MVC和MyBatis ORM工具组成。Spring作为核心容器,负责管理应用对象的生命周期和依赖注入;Spring MVC处理HTTP请求和...
《Spring+SpringMVC+MyBatis+MySQL:构建销售管理系统的深度解析》 在现代企业信息化进程中,销售管理系统扮演着至关重要的角色。本毕业设计项目以“Spring+SpringMVC+MyBatis+MySQL”为核心技术栈,构建了一套完整...
2019年的Java面试题集锦,不仅包含了基础理论的深度挖掘,还融入了当时业界流行的架构技术、Spring框架、微服务架构以及JVM优化等关键知识点。这份资料旨在帮助求职者在面试前进行高效地冲刺刷题,提升技术实力,...