权限太多,想用简单自定义标签来控制,但遇到一个头疼的问题,不能用@autowird自动注入spring管理的bean,让人恼火;

经过周折,终于解决问题,与大家一起分享,可能不是最好的方法,希望有更好方法的人能推荐给我,谢谢;

下面这样出现空指针异常

package com.bookstore.utils;import com.bookstore.client.user.handler.UserHandler;
import com.bookstore.commons.beans.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import java.io.IOException;@Component
public class LoginTag extends SimpleTagSupport {@Autowiredprivate UserHandler userHandler;public void doTag() throws JspException, IOException {PageContext context = (PageContext) this.getJspContext();HttpServletResponse response = (HttpServletResponse) context.getResponse();HttpServletRequest request= (HttpServletRequest) context.getRequest();User user = (User) context.getSession().getAttribute("login_user");System.out.println(userHandler);if(user==null){System.out.println("aaaaaaaaaaaaaaaaaaaa");User user1 = userHandler.autologin(request);System.out.println(user1);if(user1==null){System.out.println("BBBBBBBBBBbbbbb");response.sendRedirect(request.getContextPath()+"/client/error/privilege.jsp");}}}
}


而且显示注入成功,点击还能跳转

换一种解决方法,使用下面这样可以解决

     PageContext pageContext = (PageContext) this.getJspContext();ServletContext servletContext = pageContext.getServletContext();WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);UserHandler userHandler= (UserHandler) wac.getBean("userHandler");

不明白前边的方法为什么不行?希望有答案的推荐给我,万分感谢;

帮帮忙—ssm框架中,简单自定义标签SimpleTagSupport如何注入spirng中的bean相关推荐

  1. 深入体验JavaWeb开发内幕——简述JSP中的自定义标签叫你快速学会

    转载自   深入体验JavaWeb开发内幕--简述JSP中的自定义标签叫你快速学会 自定义标签,顾名思义,就是自己定义的标签.那么我们为什么要自己定义一些标签呢? 我们知道,如果要在JSP中获取数据我 ...

  2. SSM框架整合+简单案例实现

    SSM框架整合+简单案例实现 文章目录 前言 一.Spring+SpringMVC+Mybatis框架整合 1.建立一个新的web项目 2.所需jar包 3.建立数据库表与实体类之间的映射 4.web ...

  3. html中用来表示主题标签的是什么,HTML5中的article标签是什么?HTML5中的article元素用在什么地方?...

    HTML5中的article标签是什么?HTML5中的article元素用在什么地方?本篇文章主要为大家解释了什么是HTML5中的article标签,article用在什么地方,还有HTML5中art ...

  4. 图片在section上下居中_HTML5中的section标签是什么?HTML5中的section标签怎么居中?...

    HTML5中的section标签是什么?HTML5中的section标签怎么居中?本篇文章就详细地为大家举出了实例,方便大家的观看,其中的HTML5中section的定义和作用,都有实例在里面.(后面 ...

  5. ssm框架的简单介绍

    1.背景介绍 SSM框架是什么 SSM框架,是Spring + Spring MVC + MyBatis的缩写,目前主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统.使用ssm框架的 ...

  6. 浅谈IDEA+Maven 整合SSM框架实现简单的增删改查

    SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...

  7. idea 使用 maven 整合 ssm 框架 实现简单的增、删、改 和 分页查询功能

    详细请参考:   idea 使用 maven 整合 ssm 框架 文章目录 ==效果图== ==准备数据库== ==创建maven项目== ==配置文件== pom.xml jdbc.properti ...

  8. 手把手教你搭建SSM框架,简单有效理解SSM框架

    文章目录 1.基本概念 1.1.Spring概念 1.2.SpringMVC概念 1.3.MyBatis概念 2.开发步骤 2.1.maven项目创建 2.2.SSM框架的配置 2.2.1 配置前准备 ...

  9. SSM框架下后台数据库传送到前端jsp文件中

    SSM框架中后台存储在数据库中的数据,如何传送到前端中使用呢? 前提:SSM框架已经搭好: Category.xml中的SQL语句集已经写好 Category中的GetXX()和SetXX()方法也已 ...

最新文章

  1. UML应用开发详解--视频
  2. seaborn.FacetGrid
  3. .mvn 需要放git上吗_下巴反复长痘,饮食上需要忌口吗?
  4. 【NOIP2018】赛道修建【二分】【树形dp】【multiset】【贪心】
  5. 容器服务Windows Kubernetes使用阿里云日志服务来收集容器日志
  6. 什么是python标识符_Python:标识符Identifier
  7. 牛客网 牛客小白月赛1 C.分元宵-快速幂
  8. python网络爬虫学习笔记(三):urllib库的使用
  9. php语言中不能包含html标签,在邮件主题中包含html标签[PHP]
  10. Vue学习笔记之16-tarbar地开发思路
  11. java se 试题_javaSE试题
  12. A4双面打印多少钱一张
  13. mysql 误删除数据恢复
  14. Linux命令之timeout
  15. this 指向详细解析(箭头函数)
  16. 基于Java毕业设计疫情社区志愿者组织的资源管理平台源码+系统+mysql+lw文档+部署软件
  17. 任意两平面求夹角|Python练习系列[11]
  18. 【甄选靶场】Vulnhub百个项目渗透——项目十一:skytower-1(代理登录ssh,绕过shell禁用)
  19. KiTTY/cnKiTTY与PuTTY/cnPuTTY差异和使用的简单说明~~
  20. 应用于语义分割问题的深度学习技术综述(语义分割综述)

热门文章

  1. c#copyto_String.CopyTo()方法以及C#中的示例
  2. 论文公式编号右对齐_论文不会写?最详细的论文排版技巧
  3. Java ClassLoader getSystemResource()方法与示例
  4. python二分法查找程序_Python程序查找地板划分
  5. Linux debian安装PyCharm教程
  6. 数据库 连接池、缓冲池(定义、原理)
  7. 计算机ppt文字1是什么原因,ppt让答案一个个出现,ppt让文字一个个出现
  8. java程序cpu突然飚高_Java 定位导致CPU飙升的代码过程
  9. nsga2算法c++实现_Bellman-Ford算法
  10. anaconda中tensorflow-estimator版本应与tensorflow-gpu版本相同