Spring 为了将spring容器和对象的创建在服务器启动时创建(并且只创建一次),将其放在servletContext的监听器内执行。参数名contextConfigLocation哪里找?

Spring 为了将spring容器和对象的创建在服务器启动时创建(并且只创建一次),将其放在servletContext的监听器内执行。

servletContext的监听器(JSP三大组件之一 就是监听器):ContextLoaderListener。

spring封装了它。放在spring-web包下。可导入源码。

监听器这样配置的:

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


【contextConfigLocation】属性。哪里找?

查看ContextLoaderListener源码寻找属性,发现其内部没有属性。

然后呢?这里涉及 查找源码小技巧。说起来很简单。

但是隔段时间不用总是会忘记,而且一时半会儿根本想不起来。尤其大脑疲惫的时候。。。

===【找不到成员属性或方法,就往上一层父类 或接口里找。】

参数名contextConfigLocation哪里找?

父类ContextListener找到了【contextConfigLocation】属性。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 IntelliJ IDEA 创建动态 Web 项目并添加过滤器和监听器进行用户权限验证的步骤: 1. 打开 IntelliJ IDEA,选择 “Create New Project”。 2. 在左侧菜单栏中选择 “Java Enterprise”。 3. 在右侧窗口中选择 “Web Application”。 4. 输入项目称,选择项目路径,然后点击下一步。 5. 在 “Web Application” 设置中,选择 “Server” 和 “Version”,然后点击下一步。 6. 在 “Java EE” 设置中,选择 “Java EE 7” 或更高版本,然后点击下一步。 7. 在 “Project Structure” 设置中,选择 “Web” 模块,然后点击下一步。 8. 在 “Framework” 设置中,选择 “Spring MVC” 或其他适合你的框架,并点击完成。 现在你已经创建了一个动态 Web 项目。下面是如何添加过滤器和监听器进行用户权限验证的步骤: 1. 在项目中创建一个为 “AuthFilter” 的 Java 类,继承自 javax.servlet.Filter 接口。该类的作用是验证用户是否有权限访问某个页面或资源。在 doFilter() 方法中实现验证逻辑。如果用户有权限访问,就继续执行过滤器链;否则,返回错误页面或跳转到登录页面。 ``` public class AuthFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { // 初始化过滤器 } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { // 验证用户是否有权限访问某个页面或资源 // 如果用户有权限访问,就继续执行过滤器链;否则,返回错误页面或跳转到登录页面 filterChain.doFilter(servletRequest, servletResponse); } @Override public void destroy() { // 销毁过滤器 } } ``` 2. 在项目中创建一个为 “AuthListener” 的 Java 类,实现 javax.servlet.ServletContextListener 接口。该类的作用是在项目启动时加载用户权限数据并保存到 ServletContext 中。在 contextInitialized() 方法中实现加载逻辑。加载完成后,将用户权限数据保存到 ServletContext 中。 ``` public class AuthListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent servletContextEvent) { // 加载用户权限数据并保存到 ServletContext 中 } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { // 在项目关闭时清理资源 } } ``` 3. 在 web.xml 文件中添加过滤器和监听器的配置。在 <web-app> 标签下添加以下代码: ``` <filter> <filter-name>AuthFilter</filter-name> <filter-class>com.example.AuthFilter</filter-class> </filter> <filter-mapping> <filter-name>AuthFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>com.example.AuthListener</listener-class> </listener> ``` 现在你已经完成了用户权限验证功能的添加。在 AuthFilter 类中,你可以实现具体的用户权限验证逻辑。在 AuthListener 类中,你可以加载用户权限数据并保存到 ServletContext 中。这样,你就可以在整个项目中方便地获取用户权限数据了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值