package nisc;import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class NiscServlet extends HttpServlet { /**
*
*/ public void doPost(HttpServletRequest req, HttpServletResponse resp) {
String user_name = req.getParameter("user");
String password = req.getParameter("password");
String result = ""; try {
result = LoginBean.checkLogin(user_name, password); if (result.equals("1")) {
resp.sendRedirect("/NSIC/main.jsp");
} else if (result.equals("2")) { resp.sendRedirect("/NSIC/relogin.jsp");
} else if (result.equals("3")) { resp.sendRedirect("/NSIC/noempty.jsp");
}
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} }
}其中LoginBean.checkLogin(user_name, password)已验证可以返回"1"或"2"或"3"web.xml中的配置
<servlet>
<servlet-name>NISCsys</servlet-name>
<servlet-class>nisc.NiscServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NISCsys</servlet-name>
<url-pattern>/NISCsys</url-pattern>
</servlet-mapping>烦请高人指点,磕头了。谢谢了! 在线等哈!
import javax.servlet.http.*;
import java.io.*;public class NiscServlet extends HttpServlet { /**
*
*/ public void doPost(HttpServletRequest req, HttpServletResponse resp) {
String user_name = req.getParameter("user");
String password = req.getParameter("password");
String result = ""; try {
result = LoginBean.checkLogin(user_name, password); if (result.equals("1")) {
resp.sendRedirect("/NSIC/main.jsp");
} else if (result.equals("2")) { resp.sendRedirect("/NSIC/relogin.jsp");
} else if (result.equals("3")) { resp.sendRedirect("/NSIC/noempty.jsp");
}
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} }
}其中LoginBean.checkLogin(user_name, password)已验证可以返回"1"或"2"或"3"web.xml中的配置
<servlet>
<servlet-name>NISCsys</servlet-name>
<servlet-class>nisc.NiscServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NISCsys</servlet-name>
<url-pattern>/NISCsys</url-pattern>
</servlet-mapping>烦请高人指点,磕头了。谢谢了! 在线等哈!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312"></HEAD>
<BODY></BODY></HTML>forward也试过了 不行... 不知道是不是我用错了!
resp.sendRedirect("/NSIC/main.jsp");
} else if (result.equals("2")) { resp.sendRedirect("/NSIC/relogin.jsp");
} else if (result.equals("3")) { resp.sendRedirect("/NSIC/noempty.jsp");
}
如何取得的result.equals(1,2,3)
可以知道到底执行了没有 以免犯低级错误从你的返回的空白页可以肯定 你的程序确实返回了页面 虽然那不是你期望的。
你可以看看你的程序是不是真的按照你想象的思路执行了。
我另外写了段main()方法 同样的参数调用了一次LoginBean.checkLogin(user_name, password)
如下:
public static void main(String[] args) throws Exception {
// TODO 自动生成方法存根
String result = LoginBean.checkLogin("admin","123456");
System.out.println(result);
}
结果正确,说明result应该是可以取得正确的值,现在还有两个疑点:
1、doPost()的两个参数是否接受到了req和resp,getParameter()是否取得了正确的参数;
2、我的重定向语句是不是有问题;
请大家帮我再看看这两个问题吧,我自己不知道该怎么测试!
action="NISCsys" action 里少了个 斜杠 /NISCsys
楼上的建议很对 我先前用了switch case 不过后来发现不行就换得if else ,还是不行。我是什么地方都检查过了 不知道是哪个尬拉里出问题了!
原来是我的sqlserver驱动没有拷贝到网站目录下,但是我设置了构建路径 所以用java程序运行main()方法可以通过,但是在网页上就找不到了!
1 加上else的判断
2 输出一下 result = LoginBean.checkLogin(user_name, password); 方法返回的restlt的值
3 看看执行哪条判断语句