取个名字真烦 2014-04-10 06:52 采纳率: 0%
浏览 5961

String action = request.getParameter("action");action老是为空

myeclipse环境搭建一个服务器,文件时ClassInfoServlet,debug时候String action = request.getParameter("action");这句action为空,不知道怎么解决。。。
package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.json.JSONStringer;

import dao.ClassInfoDAO;

import domain.Grade;

public class ClassInfoServlet extends HttpServlet{

private static final long serialVersionUID = 1L;

private ClassInfoDAO classinfodao = new ClassInfoDAO();
/**
 * @see HttpServlet#HttpServlet()
 */
public ClassInfoServlet() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    this.doPost(request, response);
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub

    String action = request.getParameter("action");
    if(action.equals("query")) {

        String classNumber = request.getParameter("classNumber");
        classNumber = classNumber==null?"":new String(request.getParameter("classNumber").getBytes("iso-8859-1"),"UTF-8");

        String className = request.getParameter("className");
        className = className==null?"":new String(request.getParameter("className").getBytes("iso-8859-1"),"UTF-8");

        String classSpecialFieldNumber = request.getParameter("classSpecialFieldNumber");
        classSpecialFieldNumber = classSpecialFieldNumber==null?"":new String(request.getParameter("classSpecialFieldNumber").getBytes("iso-8859-1"),"UTF-8");

        String classTeacherCharge = request.getParameter("classTeacherCharge");
        classTeacherCharge = classTeacherCharge==null?"":new String(request.getParameter("classTeacherCharge").getBytes("iso-8859-1"),"UTF-8");

        String classTelephone = request.getParameter("classTelephone");
        classTelephone = classTelephone==null?"":new String(request.getParameter("classTelephone").getBytes("iso-8859-1"),"UTF-8");

        List<Grade> GradeList = classinfodao.QueryClassInfo(classNumber,className, classSpecialFieldNumber, classTeacherCharge,classTelephone);
        StringBuffer sb = new StringBuffer();
        sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>").append("\r\n").append("<ScoreInfo>").append("\r\n");
        for(int i = 0; i<GradeList.size(); i++) {
            sb.append(" <ClassInfo>").append("\r\n")
                .append("       <classNumber>").append(GradeList.get(i).getclassNumber()).append("</classNumber>").append("\r\n")
                .append("       <className>").append(GradeList.get(i).getclassName()).append("</className>").append("\r\n")
                .append("       <classSpecialFieldNumber>").append(GradeList.get(i).getclassSpecialFieldNumber()).append("</classSpecialFieldNumber>").append("\r\n")
                .append("       <classTeacherCharge>").append(GradeList.get(i).getclassTeacherCharge()).append("</classTeacherCharge>").append("\r\n")
                .append("       <classTelephone>").append(GradeList.get(i).getclassTelephone()).append("</classTelephone>").append("\r\n")
            .append("   </ClassInfo>").append("\r\n");
        }
        sb.append("</ClassInfo>").append("\r\n");

        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        out.print(sb.toString());
    } else if(action.equals("add")) {
        String studentNumber=new String(request.getParameter("classNumber").getBytes("iso-8859-1"),"UTF-8");  
        Grade Grade = new Grade();

        Grade.setstudentNumber(studentNumber);
        ClassInfoDAO classinfodao = new ClassInfoDAO();
        String result = classinfodao.AddClassInfo(Grade);
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        out.print(result);
    } else if(action.equals("delete")) {
        String classNumber = request.getParameter("classNumber");
        ClassInfoDAO classinfodao = new ClassInfoDAO();

        String result = classinfodao.DeleteClassInfo(classNumber);
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        out.print(result);

    } else if(action.equals("updateQuery")) {
        String classNumber = request.getParameter("classNumber");
        ClassInfoDAO classinfodao = new ClassInfoDAO();
        Grade Grade = classinfodao.GetClassInfo(classNumber);
        //客户端查询对象信息,返回json数据格式
        //将List<Person>组织成JSON字符串   
        JSONStringer stringer = new JSONStringer();  
        try{  
            stringer.array();   
            stringer.object();
            stringer.key("classNumber").value(Grade.getclassNumber());
            stringer.key("className").value(Grade.getclassName());
            stringer.key("classSpecialFieldNumber").value(Grade.getclassSpecialFieldNumber());
            stringer.key("classTeacherCharge").value(Grade.getclassTeacherCharge());
            stringer.key("classTelephone").value(Grade.getclassTelephone());

            stringer.endObject();
            stringer.endArray();  
        }  
        catch(Exception e){}  
        response.getOutputStream().write(stringer.toString().getBytes("UTF-8"));  
        response.setContentType("text/json; charset=UTF-8");  //JSON的类型为text/json

    } else if(action.equals("update")) {
        //真正执行更新业务
        String classNumber = request.getParameter("classNumber");
        String className = request.getParameter("className");
        String classSpecialFieldNumber = request.getParameter("classSpecialFieldNumber");
        String classTeacherCharge = request.getParameter("classTeacherCharge");
        String classTelephone = request.getParameter("classTelephone");

        Grade Grade = new Grade();

        Grade.setclassNumber(classNumber);
        Grade.setclassName(className);
        Grade.setclassSpecialFieldNumber(classSpecialFieldNumber);
        Grade.setclassTeacherCharge(classTeacherCharge);
        Grade.setclassTelephone(classTelephone);


        ClassInfoDAO classinfodao = new ClassInfoDAO();
        String result = classinfodao.UpdateClassInfo(Grade);
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        out.print(result);
    } else if(action.equals("GetClassInfo")) {
        String classNumber = request.getParameter("classNumber");
        ClassInfoDAO classinfodao = new ClassInfoDAO();
        Grade Grade = classinfodao.GetClassInfo(classNumber);  
        response.setCharacterEncoding("UTF-8");
        response.setHeader("Content-Type", "text/plain;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print(Grade.getclassNumber());
        out.print(Grade.getclassName());
        out.print(Grade.getclassSpecialFieldNumber());
        out.print(Grade.getclassTeacherCharge());
        out.print(Grade.getclassTelephone());


    }

}

}

  • 写回答

2条回答

  • scott_129 2014-04-10 12:14
    关注

    首先你确定你的那个name=“action”的属性值随着你的请求带过来了,再其次就是你的名字确定是“action”,最后就是有可能你的action这个名字是个敏感词,如果前两点都没错,那你换一个名字看看,注意换的时候,需要前后台名字一致。

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮