草庐IT

guice-servlet

全部标签

java - Spring + Tiles2 + Freemarker - 通过 Freemarker Servlet 或通过 Spring 的 FreeMarkerViewResolver 集成?

我今天在努力从Freemarker迁移到Tiles2+Freemarker。我的freemarker模板使用来自spring.ftl的宏。如果我在web.xml中提供一个fremarkerservlet,我的模型对freemarker可见,但特定的spring变量(自然地)不会填充到模型中,因为springsFreemarkerView负责。如果我为特定的url(比如“/tpl/*”)配置一个单独的DispatcherServlet,并将freemarker解析器配置为该servlet的默认View解析器,并提供UrlFilenameViewController作为默认Controll

java - Google Guice 属性管理

我想在javawebapp中创建一个适当的属性管理策略,将googleguice作为DI框架进行中继。我想要一种机制来满足以下3个要求:我希望能够使用guice(@Named)注入(inject)属性我希望能够以静态方式访问属性该机制应该支持属性的优先级排序,这意味着一个属性可以用一定的值包装在已部署的war中,但它也可以在目标系统级别或本地文件系统(我部署的目标机器的)中是冗余的,在这种情况下,war中的值将被目标机器中存在的值覆盖。我相信这是标准要求。现在,使用guice标准Binder,我可以轻松获得第一个要求,但不能获得其他两个要求。为了获得另外两个,我创建了自己的类来执行以下

java - 等效于 Jersey/JAX-RS/REST 资源的 Servlet 过滤器?

在一个常规的Web应用程序中,我可以为身份验证、授权、错误、日志记录等方面的各种路径分配一个过滤器链。优点是我编写servlet以专注于核心功能而不用担心基础设施方面。我可以编写正交的、横切的Filter来进行身份验证、授权等。然后我可以将它们编织在web.xml中。查看web.xml足以让我确信我的应用程序中没有漏洞。这在JAX-RS或Jersey中可行吗?如果不是,我最好的选择是什么? 最佳答案 虽然与servlet过滤器不同,但Jersey支持ContainerResponseFilter和ContainerRequestFi

java - 在 servlet 多部分发布期间无法访问 Spring Security 信息

我无法在servlet多部分发布期间访问SpringSecurity信息。Spring安全信息在常规get和post方法期间可用,但不可用于multipartpost方法。我尝试通过SecurityContextHolder.getContext().getAuthentication()和通过访问SecurityContextHolder.getContext().getAuthentication()的注入(inject)服务直接访问此安全信息,但未成功。我还实现了一个HttpRequestHandler和一个ServletWrappingController。再一次,我能够成功地

java - 如何在 Swing 应用程序中使用 Guice

我有一个Swing应用程序,我想将它从意大利面条转换为使用Guice的依赖注入(inject)。使用Guice提供配置和任务队列等服务进展顺利,但我现在开始使用应用程序的GUI,但不确定如何继续。该应用程序基本上是一个JFrame,在JTabbedPane中有一堆选项卡。每个选项卡都是一个单独的JPanel子类,它布置了各种组件并需要服务来在按下某些按钮时执行操作。在当前的应用程序中,这看起来有点像这样:@InjectpublicMainFrame(SomeServiceservice,Executorex,Configurationconfig){tabsPane=newJTabbe

java - 我们把Servlets放在Tomcat的目录结构中的什么位置呢?

我从网上复制了一个HelloServlet应用程序并将其放在ROOT文件夹中。我运行了服务器,但它不起作用。怎么了?我认为它与Java类的位置有关。 最佳答案 这份文件应该对你有帮助http://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html/WEB-INF/classes/-此目录包含您的应用程序所需的任何Java类文件(和相关资源),包括未合并到JAR中的servlet和非servlet类文件。如果您的类被组织到Java包中,则必须在/WEB-INF/classes

java - 在庞大的项目环境中使用网页片段(Servlet API 3.0)

我们最近迁移到了ServletAPI3.0。由于我们正在开发一个框架,有时需要在web.xml中进行一些更改,因此基于我们框架的项目需要在更改时更新其web.xml框架制作完成。ServletAPI3.0引入了新的WebFragments,这使得这种行为更加松散耦合和动态。我创建了一个web-fragment.xml并将我们所有的东西从web.xml移到那里。因此,项目现在只需定义以下web.xml和它们自己的附加声明。我们必须使用metadata-complete="false"来启用JAR中的片段搜索(我们的框架在META中有web-fragment.xml-INF/.由于我们对其

java - 如何在 Servlet 2.4 版本的 init() 方法中获取 ContextPath

我正在使用2.4版的Servlet,我需要通过在服务器上调用的init()方法获取ContextPath开始,所以我没有任何可以调用getContextPath()的Request对象并且因为我没有getContextPath()的Servlet版本ServletContext中的方法。有没有办法以某种方式获取此ContextPath()? 最佳答案 一个Web应用程序可以在多个不同的上下文路径中发布,因此上下文路径(单数)仅在特定请求的上下文中才有意义。Servlet2.5向ServletContext添加了getContextP

java - Guice TypeListener 未收到有关注入(inject)类 Type 的通知

我有以下Guice模块:classMyModuleextendsAbstractModule{@Overrideprotectedvoidconfigure(){bindListener(Matchers.any(),newTypeListener(){...});}@ProvidesSomeClasscreateSomeClass(finalParameterparam){log(param.getValue());我发现奇怪的是,我的TypeListener没有收到有关Parameter类型的通知。即使提供者被调用并返回SomeClass。我还清楚地看到日志语句Parameter是

java - Guice 相当于 Spring 的 @Autowire 实例列表

在Spring的时候:@AutowireListmyInterfaces;然后这个列表将被所有实现MyInterface的bean填充.我不必创建List类型的bean.我正在GoogleGuice中寻找此类行为。目前我使用的是:MultibindermyInterfaceBinder=MultiBinder.newSetBinder(binder(),MyInterface.class);现在如果我有一个实现MyInterface的bean我绑定(bind)它,说通过:bind(MyInterfaceImpl.class).asEagerSingleton();它不会包含在我的mul