小编Jas*_*ltz的帖子

HttpServletRequest - 获取查询字符串参数,无表单数据

HttpServletRequest中,getParameterMap返回所有查询字符串参数的Map和发布数据参数.

有没有办法获得一个只有查询字符串参数的Map?我试图避免使用getQueryString并解析出值.

java servlets query-string

68
推荐指数
5
解决办法
19万
查看次数

Facebook以外的服务使用Open Graph吗?

在刮取页面以共享信息时,Facebook以外的其他服务是否会使用Open Graph标签?

这意味着,如果我在页面上有一个AddThis按钮(例如),允许共享到Facebook,Google +和Pinterest等,那么任何其他服务是否也会尊重这些元标记?或者通常是我们专门为Facebook做的事情?

facebook opengraph open-graph-protocol google-plus pinterest

29
推荐指数
2
解决办法
2万
查看次数

用于常见URL/URI操作的标准Java类

这个问题几乎肯定在之前被问过,但无论如何我都会问它,因为我找不到答案.

通常,是否有某种实用程序类可以帮助进行与URL/URI相关的常见字符串操作?

我正在考虑像Java SE的URL类,但可能更强一些.我正在寻找能让你做简单事情的东西,比如:

  • 获取查询字符串参数列表
  • 用于添加查询字符串参数的"addParameter"方法,它将在必要时添加"&","?"和"="
  • 此外,编码参数值将是理想的......

让我知道,谢谢!

java

17
推荐指数
1
解决办法
6839
查看次数

在Cookie标头中过期字符串

我想是一个简单的问题,但我似乎无法找到答案.

我正在使用Cookie类在Java Servlet中编写一个cookie,该类在响应头中发送到浏览器,如下所示:

Set-Cookie: test=somevalue; Domain=.mydomain.org; Expires=Thu, 06-Jan-2011 18:45:20 GMT; Path=/
Run Code Online (Sandbox Code Playgroud)

我是通过Servlet 2.5 API中的Cookie类来完成的.我需要在此String的末尾添加"HTTPOnly",Servlet 2.5 API不支持.没问题,我只是手动创建String并将"HTTPOnly"追加到最后......

但是,在这样做时,我遇到的挑战是首先在那里设置"Expires"标头,我使用了.setMaxAge(3600),它创建了该String的"Expires"部分.但是,由于我无法使用Cookie类,因此我需要创建"Expires"部分的值.

所以基本上,如何将"3600"格式化为"星期四,2011年1月6日18:45:20 GMT"?

注意:我可能用DateFormat找出正确的模式,但我希望有更好的方法来做到这一点.另一个想法:像以前一样使用Cookie类,然后只是以编程方式将Cookie转换为相应的标题字符串,然后只需将"HTTPOnly"附加到结尾.但我不知道采取Cookie对象并将其转换为相应的String值的任何方法.

所以可选地,我如何获取Cookie对象并以编程方式将其转换为相应的String值?

谢谢!

java cookies servlets

13
推荐指数
3
解决办法
4万
查看次数

如何设置Spring MVC映射的优先级?

我有2个弹簧控制器映射:

@Controller
public class ContentController {

    @RequestMapping(value = "**/{content}.html")
    public String content(@PathVariable String content, Model model, HttpServletRequest request) {
    }
}

@Controller
public class HomeController {

    @RequestMapping(value = "**/home")
    public String home(HttpServletRequest request, Model model) {
    }
}
Run Code Online (Sandbox Code Playgroud)

以下url匹配两个映射:/home.html

但是,我想确保"内容"映射始终优先于"主页"映射.有没有办法可以指明?

java spring spring-mvc

6
推荐指数
2
解决办法
7583
查看次数

Recaptcha - 脚本标签注入偶尔失败

我有一个使用reCAPTCHA的表单.出于某种原因,当用户使用不正确的重新捕获值提交此表单时,重新呈现页面时,重新捕获无法呈现.

看起来它发生的是重新捕获尝试注入"脚本"标记,偶尔(并且仅在某些浏览器,某些环境和某些情况下),它未能将"脚本"标记添加到DOM.

它发生如下:

1)表单中嵌入了一些嵌入式javascript,如下所示:

https://www.google.com/recaptcha/api/challenge?k=<our public key>
Run Code Online (Sandbox Code Playgroud)

2)该脚本正确执行并返回以下内容:

var RecaptchaState = {
 site : <some value>,
 challenge : <challenge key>,
 is_incorrect : false,
 programming_error : '',
 error_message : '',
 server : 'https://www.google.com/recaptcha/api/',
 timeout : 18000
};

document.write('<scr'+'ipt type="text/javascript" s'+'rc="' + RecaptchaState.server + 'js/recaptcha.js"></scr'+'ipt>');
Run Code Online (Sandbox Code Playgroud)

3)之后通常会发生的事情是,脚本标记被注入页面,recaptcha.js被加载,它将读取RecaptchaState以调用recaptcha来获取要渲染的图像.

但是,在某些情况下,由于某种原因,应该在2)中添加的脚本标记似乎永远不会添加到DOM中,因此从不加载recaptcha.js,因此从不呈现recaptcha!在页面呈现后,我可以在控制台中看到"RecaptchaState"存在且具有正确的值,只是没有脚本标记.

所以这就是正在发生的事情,我真的很难过为什么.我只能在Firefox中重现这一点,奇怪的是,它只在某些条件下发生.例如,如果我通过fiddler路由请求,它每次都会工作,永远不会失败.如果我在提交请求之前清除缓存,它将每次都有效.有时,当我期待它失败时,它会起作用,反之亦然.所以这是非常零星的.

所以我的想法是,它可能与js加载的时间有关,这会干扰"document.write"语句.也许其他一些javascript正在干扰它或类似的东西.只是寻找一些关于如何尝试解决这个问题的一般性想法,我可以运行的测试,我可以寻找的东西,或任何真实的想法.

提前致谢

更新

仍然没有运气搞清楚这一点.有人以为我有......我们在firebug控制台中看不到任何错误消息,表明任何事情都会出错,尽管事情显而易见.我们可以使用任何实用程序来仔细查看Firefox中究竟发生了什么吗?我正在考虑像Chrome的"Speed-Tracer"这样的东西,它为您提供非常详细的活动时间表.这里唯一的问题是我们无法在Chrome中重现它.

javascript dom script-tag recaptcha

5
推荐指数
1
解决办法
1880
查看次数

大IN语句 - 来自电子表格的数据

我有这样一张桌子:

People
-----------------
email_address
created_date
Run Code Online (Sandbox Code Playgroud)

我还有一个电子表格,里面有大约60,000个电子邮件地址.我需要为电子表格中的每个电子邮件地址选择"created_date".我目前接近它的方法是使用IN子句创建一个大的select语句:

SELECT email_address, created_date FROM People WHERE email_address in (
'user1@something.com',
'user2@something.com',
'user3@something.com',
...
Run Code Online (Sandbox Code Playgroud)

这个问题是它是一个巨大的脚本(60,000多行),我甚至无法让它运行,因为错误如"得到一个大于'max_allowed_pa​​cket'字节的数据包"和"MSQL服务器已经消失".

我可以通过增加max_allowed_pa​​cket等来修复这些错误,但我觉得它可能只是我的SQL很糟糕的症状,而不仅仅是处理症状,我应该解决问题并编写更好的SQL.如果您有任何建议,请告诉我!

mysql sql

2
推荐指数
1
解决办法
138
查看次数

由于没有使用StringBuffer可能导致内存泄漏?

以下代码是否会导致内存泄漏?使用StringBuffer实际上会提高内存使用率吗?

一点背景:同事一直在推动他关于内存泄漏的理论,这是他已经确定为代码问题的代码(没有进行任何类型的分析),他声称这可能导致内存泄漏.我不同意这一点,所以我想我会把它交给其他开发者来获得第三方意见.

 List partCollection = new ArrayList()

 String partKeyID = null;
 String sPartNbr = null;
 String partDescription = null; 

 while(rsPartRes.next())
 {
        partKeyID = rsPartRes.getString("PART_KEY_ID"); 
        sPartNbr = rsPartRes.getString("PART_NBR"); 
        partDescription = rsPartRes.getString("PART_DESC");

        SomeValueObject someValueObject = new SomeValueObject();
        someValueObject.setPartKeyID(partKeyID);
        someValueObject.setSPartNbr(sPartNbr);
        someValueObject.setPartDescription(partDescription);

        partCollection.add(someValueObject);
 }
Run Code Online (Sandbox Code Playgroud)

假设rsPartRes是此代码中的ResultSet,可能包含100多条记录.基本上,他担心的是因为我们循环遍历这个结果集并且没有使用StringBuffer(在这种情况下,我甚至不确定你将如何使用它),它可能导致内存泄漏.是否有人在这里看到这可能导致内存泄漏或性能问题......?

java memory-leaks memory-management jdbc resultset

1
推荐指数
1
解决办法
1915
查看次数

如果3个可能的结果,返回值的最佳实践?

这是一个新手问题,但我想我真的不明白最佳做法是什么.

基本上,我有一个名为"emailScan"的方法,它会扫描以查看数据库中是否已存在电子邮件.这可能会导致三种可能的结果:

  • 电子邮件不存在
  • 电子邮件存在并与个人相关联
  • 电子邮件存在并已注册到某个人

问题是,这种方法应该返回什么?我的想法:

  • 显然,它不会返回布尔值.
  • 它不会抛出一个经过检查的异常,因为这些都不是特例.
  • 它可以只返回原始的Email对象,让调用方法确定它是关联还是注册.
  • 它可以返回一个代表三种结果的Enum

有什么想法吗?

java

1
推荐指数
1
解决办法
386
查看次数

MDP JMS事务回滚,然后无限循环地重新处理消息

如果通过指定sessionTransacted=true或启用DefaultMessageListenerContainer上的事务管理transactionManager=jmsTransactionManager,则只要MDP中发生异常,事务就会回滚并将消息放回到队列中。然后,该消息将再次被处理,事务又一次又一次地回滚,从而创建了一个无限循环。

我想我的问题是……我在这里想念什么?如果只是意味着将一遍又一遍地处理消息,为什么还要让消息返回队列呢?

<!-- jms connection factory -->
<bean name="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:ConnectionFactory" />
</bean>

<!-- jms transaction manager -->
<bean id="jmsTransactionManager" class="org.springframework.jms.connection.JmsTransactionManager">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>

<!-- Destination for Inbound_Email_Q -->
<bean name="inboundEmailDestination" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="queue/inbound_Email_Queue" />
</bean>

<!-- JmsTemplate for Inbound_Email_Q -->
<bean name="jmsInboundEmailTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
    <property name="defaultDestination" ref="inboundEmailDestination" />
    <property name="messageConverter" ref="xmlMessageConverter" />
</bean>

<!-- jms asynchronous listener -->
<bean id="emailMessageServiceMdp" class="org.site.wso.core.jms.EmailMessageServiceMdp" />
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="jmsConnectionFactory"/> …
Run Code Online (Sandbox Code Playgroud)

java spring jms

1
推荐指数
1
解决办法
2648
查看次数