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

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 请问各位,如何在Jetson nano主控板的Ubuntu系统中安装PyQt5
  • ¥15 MAC安装佳能LBP2900驱动的网盘提取码
  • ¥400 微信停车小程序谁懂的来
  • ¥15 ATAC测序到底用什么peak文件做Diffbind差异分析
  • ¥15 安装ubantu过程中第一个vfat 文件挂载失败
  • ¥20 GZ::CTF如何兼容一些靶机?
  • ¥15 etcd集群部署问题
  • ¥20 谁可以帮我一下问一下各位
  • ¥15 为何重叠加权后love图的SMD与svyCreateTableOne函数绘制基线表的不一致
  • ¥150 求 《小魔指》街机游戏机整合模拟软件