wuruize888 2017-05-28 00:45 采纳率: 66.7%
浏览 1856
已采纳

java servlet问题,为什么无法获取request?

String reget = request.getQueryString();//就这个报空指针异常,我想获取?号以后完整的参数,谢谢

 @WebServlet(name = "config_addmodel", urlPatterns = {"/system/config_addmodel"})
public class config_addmodel extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");

        String restr = request.getParameter("model");//初始化接收参数,可以使用
        String rURL = request.getServerName();       //来访域名信息,可以使用
        String domain = super.getServletContext().getAttribute("sitedomain").toString();    //合法域名信息,可以使用
        String reget = request.getQueryString();//上面都能用,就这个报空指针异常,我想获取?号以后完整的参数,谢谢
        //System.out.print("xxx" + SerMod);
        try (PrintWriter out = response.getWriter()) {

            if (restr == null) {
                String title = super.getServletContext().getAttribute("sitename").toString();
                String locTitle = "系统配置";
                String stMenu = "<a class=\"themeListmenufocus\" href=\"config_addmodel\"><i class=\"fa fa-plus-square\"></i> 增加功能</a> &nbsp;&nbsp;&nbsp; <a href=\"config_model\"><i class=\"fa fa-th\"></i> 功能管理</a> &nbsp;&nbsp;&nbsp;";
                String locMenu = "<li><span>系统配置</span></li><li><span>功能管理</span></li>";

                String dir = "../";
                String SerMod = bus_config_model.bus_add(); //获取业务具体代码

                sysHtml newHtml = new sysHtml(); //新建模版
                newHtml.setHtml(title, "leftmenu", locMenu, locTitle, stMenu, SerMod, "", dir);//设置模版
                out.print(newHtml.ConfigModelAdd()); //输出模版 
            } else if (restr.equals("add")) {

                //判断来访是否本站url
                if (functionStr.requestURL(rURL, domain)) {
//                    //属于合法地址,开始处理业务
//                    String title = super.getServletContext().getAttribute("sitename").toString();
//                    String locTitle = "系统配置";
//                    String stMenu = "<a href=\"config_model.html\" class=\"themeListmenufocus\"><i class=\"fa fa-th\"></i> 功能管理</a> &nbsp;&nbsp;&nbsp;<a href=\"config_addmodel\"><i class=\"fa fa-plus-square\"></i> 增加功能</a> &nbsp;&nbsp;&nbsp;";
//                    String locMenu = "<li><span>系统配置</span></li><li><span>功能管理</span></li>";
//                    String js = "<script src=\"${dir}mtjs/table/config_addmodel.js\"></script><script src=\"${dir}mtjs/system/MTtable.js\"></script>";
//                    String dir = "../";
//
//                    String SerMod = request.getQueryString();
//                    sysHtml newHtml = new sysHtml(); //新建模版
//                    newHtml.setHtml(title, "leftmenu", locMenu, locTitle, stMenu, SerMod, js, dir);//设置模版
//                    out.print(newHtml.ConfigModelAdd()); //输出模版     
                } else {
//                    //属于非法地址,退出操作
//                    out.print(errMessage.errme(netTools.getIpAddr(request), "禁止外部提交,请勿打扰!"));
                }

            }
        }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }

}

  • 写回答

2条回答 默认 最新

  • 奔腾的野马 2017-05-28 12:14
    关注

    String reget = request.getQueryString();这个是获取请求体的内容,
    如果post提交方式的话你可以获取到提交的参数,因为post提交的内容会在请求体中
    而如果是get提交方式, String reget = request.getQueryString();的结果是null,因为get提交的内容会放在url地址的后面,
    所以这样是获取不到的

    要获取提交的参数,通过request.getParameter(String name)来获取,这个方法对get和post提交方式都有用。
    还有一个常用的方法,request.getParameterMap();也非常常用,在实际开发中经常使用

    如果对你有帮助,望采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料