来自Twitter的鸵鸟项目似乎非常适合我的用例,我想跟踪大量基于JVM的统计信息以及一些自定义统计信息.
https://github.com/twitter/ostrich/
但是,我的代码库是纯Java + Spring 3.0,而不是Scala,所以我可以将Ostrich用于我的案例吗?
我正在修复一些旧的缺陷,作为一个缺陷的一部分,我需要确保一些请求只是POST到JSP页面而不是GET请求.应用程序有一个表单,它将数据提交到另一个JSP页面(我知道它的错误并且反对MVC但为时已晚,无法修复它),因为它是一个JSP页面,所以我们可以POST请求或者我们可以获取请求.如果是恶意用户,可以阅读表单并将请求作为GET从浏览器等发送http://host:80/somejsp.jsp?param=value¶m=value.在这种情况下,它将成为违规行为.我需要确保不处理这样的GET请求.一种方法是在jsp页面中执行以下步骤 -
if (request.getMethod().equals("GET")) {
// reroute the user as it is not a valid req
}
Run Code Online (Sandbox Code Playgroud)
还有其他办法吗?
我尝试使用以下语法在力度模板中定义地图.它不起作用,是否有人知道如何声明速度常量值的映射?
#set ($mymap = {"key" : "value" , "key2" : "value"})
Run Code Online (Sandbox Code Playgroud)
编辑:我使用1.6.3版本的速度
最近我遇到了SkipList数据结构.这真的帮助我解决了一个难以解决的难题.我正在努力使用平衡二叉树来解决它,但它变得非常复杂,因为树需要始终保持平衡,我想知道不仅存在特定值而且存在某个范围内的值.SkipList帮助我有效地解决了这个问题.
我想知道我需要知道的其他数据结构是什么?我知道 - 数组,列表,堆栈,队列,链接列表,哈希表,树及其不同的形式,如B-tree,Trie等.想知道您是否发现其他一些有趣的数据结构/概念以及有用的定期开发周期.
<bean id="xyz" class="com.abc" >
<property name="name">
<bean
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
<property name="staticField" value="com.abc.staticname" />
</bean>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
这是我之前用来设置类com.abc名称的方法.现在,这些名字应该来自另一个枚举.如何访问枚举值以设置我的类com.abc的name属性?
我正在使用tomcat 6,我有两个webapps.一个是webapp1,另一个是webapp2.从webapp2中的过滤器,我试图访问其他webapp即webapp1.我的过滤器代码如下所示
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
System.out.println("requeted path = " + req.getRequestURI());
ServletContext othercontext = confg.getServletContext().getContext("/webapp1");
RequestDispatcher dispatcher = othercontext.getRequestDispatcher(req.getRequestURI());
dispatcher.forward(request, response);
chain.doFilter(request, response);
}
Run Code Online (Sandbox Code Playgroud)
任何想法我做错了什么?我总是将null作为othercontext值.
随Quartz Scheduler一起提供的SimpleThreadPool类没有FIFO行为.我想确保如果我继续向调度程序添加作业,它们将以先进先出的方式解决.有没有可用的ThreadPool?或者有没有其他方法来实现这一目标?
据我所知,jdk7支持fork-and-join,我可以在JDK6中使用fork-and-join而无需升级到JDK7.0吗?
我正在研究一个想法,我必须在JPG或PNG文件中识别行.PNG文件包含一个单值图表 - 一个x,y组合.例如,图形看起来像Y = mx + c.我想识别图中的线 - 如果我可以识别帧中像素的位置,我相信我可以找回用于绘制图形的值(x,y).这里的假设是 - 我知道比例即1像素= Y的单位?有人可以帮我编写一个代码,用于识别一个PNG文件中特定颜色的像素吗?
编辑
让我们举个例子来说清楚.假设我有一组数据值X和Y像这样 -
X = 1, Y = 10
X = 2, Y = 20
X = 3, Y = 30
X = 4, Y = 40
X = 5, Y = 50
X = 6, Y = 60
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果我使用jfreechart类型的图表工具并制作图表,它就像一条直线工具.
因此输入是数据集,输出是.PNG文件(使用jchart或jfreechart),其中包含Y值的这个折线图.
问题是 - 如果我们逆转流程,我们是否可以开发一个程序来获取PNG文件(包含图形)并返回数据集.
问题的上下文是 - 我想将PNG文件存储在我的应用程序中而不是原始数据集中.但鉴于PNG文件,我应该能够取回我的数据集.
作为敏捷开发周期中的Java开发人员,我了解到必须确保以一种能够轻松地重构它们的方式设计我的类,而不会有太多痛苦.我想知道,您在日常设计/开发周期中遵循的最佳实践是什么,可以帮助您轻松执行重构.
例如,我知道我应该隐藏接口背后的实现细节.因此,如果我明天更改实现,那么我不会打扰使用此API的客户端代码.同样,我应尽可能使用"工厂设计模式",以便可以从一个工厂类控制实现类的更改,而不是找出所有位置并更改它们.
同样,我想知道你所遵循的所有最佳实践对我有什么帮助.
我在Tomcat中部署了一个WEB应用程序.我想拦截所有传入的请求 - 获取或发布并执行某些任务.我想拦截来自servlet,JSP页面等的调用.所以我创建了一个web.xml文件,看起来像这样 -
<servlet>
<description></description>
<display-name>Transformer</display-name>
<servlet-name>Transformer</servlet-name>
<servlet-class>com.test.Transformer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Transformer</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
正如我们所看到的,任何请求都将发送到名为Transformer的控制器servlet.现在这个servlet通常会尝试将一个请求从A转换为B.我面临的问题是 - 我进入循环我只想将url /test.jsp的请求转换为/abc/test.jsp但是第二个请求/abc/test.jsp也在点击Transformer servlet,结果它没有按预期工作.我想我可以使用Filter但是我在应用程序中有太多的servlet和JSP页面,无处不在.
我是perl的新手,不知道如何实现以下目标.我正在读取一个文件,并将这些行放在一个名为$ tline的变量中.接下来,我试图从$ tline中替换一些字符.如果$ tline有一些特殊字符,如(,?,=等),这个替换会失败.如何从这个变量$ tline中转义特殊字符?
if ($tline ne "") {
$tline =~ s/\//\%;
}
Run Code Online (Sandbox Code Playgroud)
编辑
对不起困惑.这是我想要做的.
$tline =~ s/"\//"\<\%\=request\.getContextPath\(\)\%\>\//;
Run Code Online (Sandbox Code Playgroud)
这适用于大多数情况.但是当输入文件有?在它,它是失败的.
我有一个枚举,其代码是这样的 -
public enum COSOptionType {
NOTAPPLICABLE,
OPTIONAL,
MANDATORY;
private String[] label = { "Not Applicable", "Optional", "Mandatory"};
@Override
public String toString() {
return label[this.ordinal()];
}
public static COSOptionType getCOSOption(String value) {
int ivalue = Integer.parseInt(value);
switch(ivalue) {
case 0:
return NOTAPPLICABLE;
case 1:
return OPTIONAL;
case 2:
return MANDATORY;
default:
throw new RuntimeException("Should not get this far ever!");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有转换器来转换枚举类型
public class COSEnumConverter implements Converter {
public Object getAsObject(FacesContext context, UIComponent comp, String value) {
return COSOptionType.getCOSOption(value); …Run Code Online (Sandbox Code Playgroud)