jsp+servlet进行表单验证,但是点击提交按钮时显示空白页面

时间:2021-03-14 19:29:47
import java.io.IOException;
import java.io.PrintWriter;

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


public class zc extends HttpServlet {

/**
 * Constructor of the object.
 */
public zc() {
super();
}

/**
 * Destruction of the servlet. <br>
 */
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}

/**
 * The doGet method of the servlet. <br>
 *
 * This method is called when a form has its tag value method equals to get.
 * 
 * @param request the request send by the client to the server
 * @param response the response send by the server to the client
 * @throws ServletException if an error occurred
 * @throws IOException if an error occurred
 */



public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
 request.setCharacterEncoding("utf-8");

//response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
System.out.println("jjj");
if(name=="admin"&&pwd=="123"){
//request.getRequestDispatcher("ok.jsp").forward(request, response);
response.sendRedirect("ok.jsp");
}
}

/**
 * Returns information about the servlet, such as 
 * author, version, and copyright. 
 *
 * @return String information about this servlet
 */
public String getServletInfo() {
return "This is my default servlet created by Eclipse";
}

/**
 * Initialization of the servlet. <br>
 *
 * @throws ServletException if an error occurs
 */
public void init() throws ServletException {
// Put your code here
}

}

9 个解决方案

#1


你只写了post方法,form提交是post么?
如果不是那就要对应一下

#2


<form action="zc" method="POST">
是post啊

#3


一  form表单看看提交方式
二 看看数据库访问结果 
if(name=="admin"&&pwd=="123"){
//request.getRequestDispatcher("ok.jsp").forward(request, response);
response.sendRedirect("ok.jsp");
}
你只判断成功的  失败的你没判断

#4


System.out.println("jjj");
if(name=="admin"&&pwd=="123"){
//request.getRequestDispatcher("ok.jsp").forward(request, response);
response.sendRedirect("ok.jsp");
}

1控制台有没输出jjj
如果没有,问题去代码上面找
如果有,试一下"admin".equals(name)的用法
再一个,没有写else对应的jsp页面,写一个看看

#5


打断点,跟一下,看程序到后台后,是否没走if,直接跳空页面了。

#6


这是啥问题?

#7


看你的web.xml是不是这个servlet的urp-pattern写成了/zc

#8


你的form里面的action最好这么写, <form action="<%=path %>/zc"然后在web.xml里面这么配<url-pattern>/zc</url-pattern>

path=request.getContextPath()

#9


是不是路径问题,最好就用path=request.getContextPath()获取到path,然后在重定向哪里指定一下相对路径,还有如果jsp文件放在web-inf下面是访问不到的,只能用转发!

#1


你只写了post方法,form提交是post么?
如果不是那就要对应一下

#2


<form action="zc" method="POST">
是post啊

#3


一  form表单看看提交方式
二 看看数据库访问结果 
if(name=="admin"&&pwd=="123"){
//request.getRequestDispatcher("ok.jsp").forward(request, response);
response.sendRedirect("ok.jsp");
}
你只判断成功的  失败的你没判断

#4


System.out.println("jjj");
if(name=="admin"&&pwd=="123"){
//request.getRequestDispatcher("ok.jsp").forward(request, response);
response.sendRedirect("ok.jsp");
}

1控制台有没输出jjj
如果没有,问题去代码上面找
如果有,试一下"admin".equals(name)的用法
再一个,没有写else对应的jsp页面,写一个看看

#5


打断点,跟一下,看程序到后台后,是否没走if,直接跳空页面了。

#6


这是啥问题?

#7


看你的web.xml是不是这个servlet的urp-pattern写成了/zc

#8


你的form里面的action最好这么写, <form action="<%=path %>/zc"然后在web.xml里面这么配<url-pattern>/zc</url-pattern>

path=request.getContextPath()

#9


是不是路径问题,最好就用path=request.getContextPath()获取到path,然后在重定向哪里指定一下相对路径,还有如果jsp文件放在web-inf下面是访问不到的,只能用转发!