繁体   English   中英

Java Servlet提交按钮不起作用

[英]java servlet submit button doesn't work

我正在写一个小的登录servlet。 登录部分工作正常,但是当我按注销提交按钮时,什么也没发生。
Servlet代码如下:

public class LoginServlet extends HttpServlet {
    /**
     * 
     */
    private static final long serialVersionUID = 7638796169158385551L;
    private Database database = Database.getInstance();

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        out.write("<html><head><title>Login form</title></head>");
        if (!database.connected) {
            outLoginForm(out);
        } else {
            out.write("Hello " + database.getLoginName() + "!");
            outLogoutForm(out);
        }
        out.write("</body></html>");
    }

    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        if (request.getParameter("loginsub") != null) {
            if (isParameterEmpty(request, "login")
                    || isParameterEmpty(request, "pass")) {
                response.getWriter().write("Some fields are empty");
                doGet(request, response);
            }
            try {
                database.connect(request.getParameter("login"),
                        request.getParameter("pass"));
            } catch (ExceptionInInitializerError ex) {
                response.getWriter().write("Login or password is incorrect");
            }
        } else if (request.getParameter("logoutsub") != null) {
            database.disconnect();
        }
        doGet(request, response);
    }

    private boolean isParameterEmpty(HttpServletRequest request,
            String parameter) {
        if (request.getParameter(parameter).isEmpty())
            return true;
        return false;
    }

    protected void outLoginForm(PrintWriter out) {
        out.write("<FORM method =\"POST\">");
        out.write("Login:<input type=\"text\"name=\"login\"><br>");
        out.write("Password:<input type=\"password\"name=\"pass\"><br>");
        out.write("<input type=\"submit\"name=\"loginsub\" value=\"Login\"/><br>");
        out.write("</FORM><br>");
    }

    protected void outLogoutForm(PrintWriter out) {
        out.write("<FORM method =\"POST>\">");
        out.write("<input type=\"submit\"name=\"logoutsub\" value=\"Logout\"/><br>");
        out.write("</FORM><br>");
    }
}

谁能帮我找出问题所在? 我是JSP和Java Servlet的新手。

线路下方有一个问题( POST后有一个额外的问题>

 out.write("<FORM method =\"POST>\">");

替换为

out.write("<FORM method =\"POST\">");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM