首先,servlet是动态网页项目区别于普通的java项目的,是动态网页项目中web.xml主要配置文件管理的,
而spring只能管理普通的pojo,而没办法直接注入,尽管你的注入方式和配置方式都没有问题。
那如何解决这个问题呢?解决的办法总比遇到的问题多,不然spring MVC又是如何做到呢?其实filter也是会遇到类似问题的。
个人建议使用第四种方式
  第一种解决办法是:

在servlet中的init方法或者是无参构造方法内直接用最原始的方式进行手动注入,即类似如下:
WebApplicationContext wactx = WebApplicationConteextUtils.getWebApplicationContext(request.getServletContext);
xxxService接口 = wactx.getBean(XxxService接口.class); 
除了可以用WebApplicationContext获取之外,用ClassPathXmlApplicationContext来获取也是可以的。

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplication("配置文件路径字符串");

xxxService接口 = ctx.getBean("id的字符串",XxxService接口.class); 
这样两种方法可以减少该Service接口的set方法。

第二种解决办法是:

用自己手写一个关于用包名和类名直接反射成一个类,再以对象的方式返回来解决,这样也可以不用写相应service的set方法,但是这样的
造轮子是没必要的。

第三种解决办法是:

新写一个servlet,而且可以实现给一个完整类名就可以反射出一个对象的,然后在其他各个servlet中都可以用继承的方式来造各种想要的类,但是
这样还是要写各种set方法。

第四种解决办法是:

这个时候直接用spring MVC吧,不管是配置还是用注解,都是比较方便的,而且spring MVC的开发方式也是对你的开发效率提升有很大优势的。

关于spring中无法将service注入到servlet中的问题的更多相关文章

  1. 【Spring注解驱动开发】面试官:如何将Service注入到Servlet中?朋友又栽了!!

    写在前面 最近,一位读者出去面试前准备了很久,信心满满的去面试.没想到面试官的一个问题把他难住了.面试官的问题是这样的:如何使用Spring将Service注入到Servlet中呢?这位读者平时也是很 ...

  2. service注入到action中

    service注入到action中 之前本人每次要获得service都是在action自己通过WebApplicationContext的getBean获得的,一直在spring中只配置到了servi ...

  3. Servlet规范简介——web框架是如何注入到Servlet中的

    Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...

  4. 将spring管理的bean使用注解的方式注入到servlet中

    Filter和Servlet中不能直接注解使用spring的bean,因为这两个都是servlet容器维护管理的,当然也有实现方法,如下: 1.创建一个AbstractServlet 抽象类,让你的所 ...

  5. 如何运用spring将dao注入到servlet中?

    1.servlet的init方法 public void init(ServletConfig config) throws ServletException { super.init(config) ...

  6. Spring开发 - 通过实现ApplicationContextAware在Servlet中调用注解的Service

    用过Spring MVC的人都知道,我们如何在Controller中注入Service,可以使用@Resource注解的方法. 有时候,实际在项目的过程中,我们需要在某个Servlet中使用Servi ...

  7. AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式

    转载:http://blog.csdn.net/mhmyqn/article/details/25561535 HTTP请求中,如果是get请求,那么表单参数以name=value&name1 ...

  8. JSP/Servlet 中的事件处理

    写过AWT或Swing程序的人一定对桌面程序的事件处理机制印象深刻:通过实现Listener接口的类可以在特定事件(Event)发生时,呼叫特定的方法来对事件进行响应. 其实我们在编写JSP/Serv ...

  9. AJAX POST请求中參数以form data和request payload形式在servlet中的获取方式

    HTTP请求中,假设是get请求,那么表单參数以name=value&name1=value1的形式附到url的后面,假设是post请求,那么表单參数是在请求体中,也是以name=value& ...

随机推荐

  1. .NET 框架程序使用 Win32 API

    .NET 框架程序可以通过静态 DLL 入口点的方式来访问本机代码库.DllImport 属性用于指定包含外部方法的实现的dll 位置.       DllImport 属性定义如下:      na ...

  2. 在Mac上安装Sublime Text3的插件

    首先安装插件管理器Package Control 打开Sublime, 按下快捷键 ctrl+', 然后粘贴下面的代码,然后按回车键: import urllib.request,os; pf = ' ...

  3. WEB安全性测试

    SQL注入   所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令 ...

  4. IOS跳转到设置特定项

    App如何跳转到系统Settings 标签: IOS开发App转到Settings 2015-12-04 15:56 550人阅读 评论(1) 收藏 举报  分类: IOS开发(21)  版权声明:本 ...

  5. pwnable.kr-flag

    题目: 使用 file 命令查看下载回来的 flag 文件,发现是一个64位的 ELF 可执行程序.通过查看,发现其具有明显的 UPX 压缩标志,所以解压之. 使用命令upx –d 进行脱壳,如果没有 ...

  6. 1千万英国用户被Cryptolocker勒索软件瞄准

    英国国家打击犯罪调查局(NCA)发布国家紧急警报,警报一场大规模的垃圾邮件,这些邮件中包含了一款名为CryptoLocker的勒索程序,把目标瞄准了1千万英国的email用户,该程序会加密用户的文档, ...

  7. App Store最新审核标准,中文版

    App store最新审核标准(2015.3)公布 1. 条款和条件 1.1 为App Store开发程序,开发者必须遵守 Program License Agreement (PLA).人机交互指南 ...

  8. 1476. Lunar Code

    http://acm.timus.ru/problem.aspx?space=1&num=1476 由于前一列对后一列有影响,所以需要保持前一列的状态, 但无需用状态压缩来保存(也保存不了) ...

  9. POJ 3176 Cow Bowling

    Cow Bowling Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13016   Accepted: 8598 Desc ...

  10. 高性能javascript(记录三)

    DOM(文档对象模型)是一个独立的语言,用于操作XML和HTML文档的程序接口(API).在游览器中,主要用来与HTML文档打交道,同样也用在Web程序中获取XML文档,并使用DOM API用来访问文 ...