【发布时间】:2011-06-27 18:06:26
【问题描述】:
我致力于在我的网站上实施搜索。我只是将搜索关键字传递给 java。 url 正在 java 中被格式化和构造。如果我输入一个单词说“财务”,我的东西就可以正常工作。
但是,如果我的搜索关键字中有空格,例如 “财务估计”然后是它的抛出错误。我正在以表单/GET 方法发送搜索关键字。
怎么把空格去掉,看起来像一个字
这是错误
javax.servlet.ServletException
at com.ford.fc.atd.servlet.AbstractFrontController.doPost(AbstractFrontController.java:72)
at com.ford.fc.atd.servlet.AbstractFrontController.doGet(AbstractFrontController.java:40)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.ford.fc.atd.servlet.filter.AbstractFilter.invokeNextFilter(AbstractFilter.java:65)
at com.ford.fc.atd.servlet.filter.AbstractFilter.doFilter(AbstractFilter.java:43)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.ford.fc.atd.servlet.filter.XSSParameterEncodingFilter.doFilter(XSSParameterEncodingFilter.java:79)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3393)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
【问题讨论】:
-
如何创建 GET 请求,究竟是什么?错误本身来自没有对搜索词进行 URL 编码,但这取决于您当前的代码如何解决该问题。
-
字符串查询 = "&B=0&Btk=AllText&Btt=" + searchTO.getSearchTerm()+ "; 字符串上下文 = "/something/servlet?"; 字符串 url = 协议 + getDomain() + 上下文 +查询;这就是我构建 URL 的方式