作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从某个地方收到了一些对 Web 服务的愚蠢且无效的 URL 请求,例如
http://localhost:8080/WebApplication1/webresources/testme?stupidparameter=dyndcvgz/&%$\xa7edns
我的示例应用程序如下所示,在 glassfish 4.0 和 jdk1.7u40 上使用 Netbeans 构建
package WebApplication1;
import javax.ejb.Stateless;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
@Stateless
@Path("/testme")
public class NewSessionBean {
/**
* http://localhost:8080/WebApplication1/webresources/testme?stupidparameter=dyndcvgz/&%$\xa7edns
*
* @param stupidparameter
* @return
*/
@GET
@Produces("text/plain")
public String getXml(
@QueryParam("stupidparameter") String stupidparameter) {
System.out.println("stupidparameter = " + stupidparameter);
return "got " + stupidparameter;
}
}
并且使用给定的测试 url,我总是从 org.jboss.weld.servlet.WeldListener 得到 IllegalStateException: isHexDigit。如何避免或处理此异常?
最佳答案
这似乎是 Glassfish 的一个问题,它处理带有特殊字符的参数的方式。
https://java.net/jira/browse/GRIZZLY-1538
在未来版本中解决该问题之前,您可以尝试将参数编码为 base64,并在 getXml()
内接收到参数时将其解码。这将避免相关的特殊字符通过 glassfish 内部引发异常的逻辑。
关于java - 如何在 WeldListener 中捕获 isHexDigit 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19654462/
我从某个地方收到了一些对 Web 服务的愚蠢且无效的 URL 请求,例如 http://localhost:8080/WebApplication1/webresources/testme?stupi
我是一名优秀的程序员,十分优秀!