在jsp页面中用超链接的形式传递参数:  <a href="http://localhost:8080/PIMS/LookMessageServlet?userName=<%=userName %>" target="main">
             个人信息管理
           </a>servlet中接收: String userName=request.getParameter("userName");结果:
 服务器:
无法找到该网页
 
  HTTP 400 
 
     
最可能的原因是:
•在地址中可能存在键入错误。
•当你点击某个链接时,它可能已过期。
 
   
你可以尝试以下操作:
 
      重新键入地址。   
      返回到上一页。  
 
      转到  并查找你想要的信息。  
 
    详细信息  详细信息   
此错误(HTTP 400 错误的请求)表示此程序可以连接到 Web 服务器,但是因为地址问题无法找到该网页
  
控制台:java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:189)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1028)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

解决方案 »

  1.   

    400是没有找到跳转的页面
    web.xml中LookMessageServlet配置正确了吗<%=userName %>这个参数没有找到,上面定义了吗
      

  2.   

    在LookMessageServlet加个后缀。如LookMessageServlet.do?
      

  3.   

    我感觉是地址写的不对,,在jsp里无论怎么链接你本地的地址,都不应该有localhost:8080/这个前缀吧!如果PIMS是你的项目名的话,应该也不用写直接写
    <a href="LookMessageServlet?userName=<%=userName %>" target="main">试试看!