【问题标题】:Remove Space from URL从 URL 中删除空格
【发布时间】: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 的方式

标签: forms url search get


【解决方案1】:

您可以用 %20 替换空格,但这仅有助于空格,不会转义其他字符。你真正需要做的是使用URL-escaping function

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 2021-11-13
    • 2011-07-18
    相关资源
    最近更新 更多