从某个地方我收到了一些对 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 我总是得到 IllegalStateException: isHexDigit from org.jboss.weld.servlet.WeldListener。如何避免或处理此异常?