根据java servlet中的查询字符串更改响应

时间:2016-02-28 08:46:44

标签: java servlets query-string

我在发送基于query string的diffrenet响应时遇到一些问题,我有2个字符串,它假设匹配查询名称serviceType中的单个参数:

private static String restartQuery = "restarts";
private static String dbStatusQuery = "dbStatus";

我的doGet函数需要相应地发送响应:

public void doGet(HttpServletRequest request,
                            HttpServletResponse response)
                    throws ServletException, IOException{
    String requestType = request.getParameter(serviceType);
    // Set response content type
          response.setContentType("text/html");    
    if(requestType.equals(restartQuery)){
        //handle response for restartQuery
        PrintWriter out = response.getWriter();
        out.println("response for restart ....");
    }else if (requestType.equals(dbStatusQuery)){
        //handle response for dbStatusQuery
        PrintWriter out = response.getWriter();
        out.println("response for db ....");
        }
  }

问题是我得到相同的响应(重新启动...),我检查了来自前端的查询字符串 - system.println(requestType)并且它们对于每个请求都是不同的,我可以更改为什么这行得通?如果需要更多代码,请在下面发表评论。

1 个答案:

答案 0 :(得分:0)

我根据评论添加了两件事:

1-添加了我的定义:

private static final String restartQuery = "restarts";
private static final String dbStatusQuery = "dbStatus";

2-检查前端的空格,只需使用简单的prefix检查。

感谢所有帮助者。