Servlet获取不到JSP页面上的值

如下是Servlet代码:

 public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpSession session = request.getSession();
        //String account = (String) request.getAttribute("account");
        String account = request.getParameter("a");
        System.out.println("--------------------------------"+account);
        List<Teacher> oneTeaInfo = new ArrayList<Teacher>();
        try {
            oneTeaInfo = new TeacherDao().queryTeaInfo(account);
            session.setAttribute("oneTeaInfo", oneTeaInfo);
            request.getRequestDispatcher("/teacher_info.jsp").forward(request,response);
        } catch (Exception e) {
            e.printStackTrace();
        } 
    }

如下是JSP的相关代码:

 <input type="text" name="a" value="666666" />

我是把值写死的,不写死的情况下,代码如下:

    <c:set var="account" value="${sessionScope.account}" scope="request"/>

居然运行结果是空值,如下图所示:
图片说明
图片说明
请问各位大神,应该如何解决这个问题?

要嘛是input提交的时候没包含在form里面,要嘛是提交之前把a的值覆盖了

是POST方法提交的数据么

你可以把前台的代码也贴出来吗

前台代码贴出来
应该是提交数据时出的错

这个看最后的sql应该是,前台没有把account参数传过来 报了sql错误
你把name的封装变为 account

post提交数据有问题

如果是post提交的,并且a在form表单中,后台用request.getParameter("a") 取值的,
就一定能够获取到

request.getAttribute("") 是根据标签的 name 属性中的字符串来拿值的。你没有对应上

应该是没有放到form表单里面