Guice是一个很好的框架,可以将API与实现分开并开始模块化您的应用程序.OSGi是一个很好的框架,可以在自己的安全环境中加载版本化服务,并通过导出的API提供这些服务.
假设已经使用Guice开发了一个应用程序,并且它的大小现在有理由转向OSGi将早期模块转换为新的完全服务,那么执行此移动的驱动步骤是什么?
我正在寻找指导原则,一步一步做清单,战争经验,提示,警告等等......
当Java虚拟机因内存不足而无法分配对象时抛出,并且垃圾收集器不再提供更多内存
Java说:
Error是Throwable的子类,表示合理的应用程序不应该尝试捕获的严重问题.大多数此类错误都是异常情况.
这听起来像听到:
如果你溺水,那就合理一点:你不应该试着向上游泳以保持头脑清醒.死亡通常是由异常情况引起的.
让我们想象一个运行服务的场景.出于某种原因,同一服务器上的另一个应用程序正在占用大量内存,从而导致服务中出现意外的OOM.尝试减少此服务的内存消耗以保持用户可用是不是一个坏主意?
或者是否有一些更基本的事情发生在JVM级别,阻止在抛出OOM后实现这样的解决方案?
Spring 3.1安全性contact示例在其中使用了几个角色applicationContext-security.xml:
<intercept-url pattern="/" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/index.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/hello.htm" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/login.jsp*" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/switchuser.jsp" access="ROLE_SUPERVISOR"/>
<intercept-url pattern="/j_spring_security_switch_user" access="ROLE_SUPERVISOR"/>
<intercept-url pattern="/**" access="ROLE_USER"/>
Run Code Online (Sandbox Code Playgroud)
这些IS_AUTHENTICATED_ANONYMOUSLY,ROLE_SUPERVISOR,ROLE_USER角色定义在哪里?这些默认角色是由Spring Security创建的吗?
Spring 文档说这ProviderManager是 的默认实现,但是是由安全命名空间自动创建和连接AuthenticationManager的实例吗?ProviderManager
换句话说,这样的配置会自动创建一个实例ProviderManager:
<authentication-manager>
<authentication-provider>
<password-encoder hash="md5"/>
<jdbc-user-service data-source-ref="dataSource"/>
</authentication-provider>
</authentication-manager>
Run Code Online (Sandbox Code Playgroud)
否则,我需要做什么(或声明)?
假设我想插入我自己的 实现AuthenticationManager,我将如何使用命名空间配置它?
我还想指定哪些内容AuthenticationProvider应该在ProviderManager. 我找到了以下一段配置代码:
<bean id="authenticationManager"
class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref local="daoAuthenticationProvider"/>
<ref local="anonymousAuthenticationProvider"/>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
但这就足够了吗?声明列表的正确方法是什么AuthenticationProvider?关于这个问题的文档不是很清楚和完整。
Spring移动文档建议添加以下配置:
<mvc:annotation-driven>
<mvc:argument-resolvers>
<beans:bean class="org.springframework.mobile.device.DeviceWebArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>
Run Code Online (Sandbox Code Playgroud)
将当前的Device对象作为参数传递给@Controller方法.
然而,人们可以使用:
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
}
Run Code Online (Sandbox Code Playgroud)
和旁路<mvc:annotation-driven>配置.
那么,如何以DeviceWebArgumentResolver编程方式添加?
解决方案(卢西亚诺):
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addArgumentResolvers(
List<HandlerMethodArgumentResolver> argumentResolvers) {
// Adding Spring mobile argument resolvers
argumentResolvers.add(
new ServletWebArgumentResolverAdapter(
new DeviceWebArgumentResolver()));
argumentResolvers.add(
new ServletWebArgumentResolverAdapter(
new SitePreferenceWebArgumentResolver()));
}
// ...
}
Run Code Online (Sandbox Code Playgroud) 我需要创建一个仅由图像组成的简单按钮,当用户点击它时,它将打开一个JQuery Dialog.
我在做一些阅读,并通知了许多解决方案:<button>,<image>用<a>,使用CSS来修改按钮的背景,等等.
这很令人困惑,实现我的图像按钮的正确方法是什么?
谢谢.
PS:按钮/图像应该是可聚焦的.欢迎使用JSFiddle操作示例.
我想在HTML表格页眉和页脚之间留出一点空间,以及我的正文内容.虽然margin-top和margin-bottom会这样做,但事实并非如此.然而字体重量:粗体; 指令被考虑在内.
我的HTML:
<table id="myTbl">
<thead>
<tr>
<th>My Table Header</th>
</tr>
</thead>
<tbody>
<tr>
<td>My Body Content</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>My Table Footer</th>
</tr>
</tfoot>
</table>
Run Code Online (Sandbox Code Playgroud)
我的CSS:
#myTbl {
font-weight: normal;
}
#myTbl thead {
font-weight: bold;
margin-bottom: 10px;
}
#myTbl tfoot {
font-weight: bold;
margin-top: 10px;
}
Run Code Online (Sandbox Code Playgroud)
JSFiddle可以在这里找到.我正在使用Chrome.
我试图将我的网站放在CloudFlare后面,但不幸的是,当我激活CloudFlare时,我开始获得重定向循环(我正在使用Chrome).
我已按照建议尝试清除cookie,但它没有解决问题,而且当CloudFlare未激活时我没有遇到此问题.
是什么导致了这个以及如何在我的node.js应用程序中解决它?
我有一个JPanel带有标题边框的JPanelA在JTabbedPanelC 的B中.我有一种方法可以刷新A和B的内容,这种方法可以不时调用.
不幸的是,A和B的所有项目都会及时刷新,但不是A的标题.我明确地必须切换到另一个选项卡式面板并返回C以获得A的标题以便正确显示.为什么?
我使用的代码如下:
TitledBorder tmp
= (TitledBorder) this.GroupingProfilePanel.getBorder();
// Resetting header
if ( this.c != null ) {
tmp.setTitle("Set - " + this.c.getName());
} else {
tmp.setTitle("Set");
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个小型Web应用程序.目标是index.html使用Ajax +一个servlet 创建一个欢迎页面来处理ajax请求.
虽然我认为我会很好,但web.xml我不想部署到/,但是/MyApp.NetBeans的项目属性提供了设置上下文路径的选项,这有助于我部署到/MyApp.但是,它会自动添加一个/META-INF/context.xml文件,这有点令人困惑.
我的问题是:
1)我真的需要一个context.xml文件来部署/MyApp而不是/吗?
2)如果1)的答案是否定的,那么如何才能完成同样的工作web.xml?
3)究竟是context.xml对web.xml?