开始用jsp写了一个成功了,现在想把登录的模块改成servlet的。编译也通过了,就是在网页上无法打开,是什么问题?代码如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class login extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
String name="90111";
String mm="1";
String uname=req.getParameter("name");
String umm=req.getParameter("mm");
if(name.equals(uname)&&mm.equals(umm))
{
res.sendRedirect("main.jsp");
}
else
{
res.sendRedirect("fail.jsp");
}
}
}
第1个回答 2012-07-16
你应该先判断一下那个req.getParameter("name")和那个req.getParameter("name")是否为空.如果不判断的话,它就会报那个语法错误的,因为这个页面一打开的话,req.getParameter("name")和
req.getParameter("name")!=null并没有被赋值,所以为空,肯定报错的;
代码应该这样写的:
if(req.getParameter("name")!=null&&req.getParameter("name")!=null){
String uname=req.getParameter("name");
String umm=req.getParameter("mm");
if(name.equals(uname)&&mm.equals(umm))
{
res.sendRedirect("main.jsp");
}
else
{
res.sendRedirect("fail.jsp");
}
}
req.getParameter("name")!=null并没有被赋值,所以为空,肯定报错的;
代码应该这样写的:
if(req.getParameter("name")!=null&&req.getParameter("name")!=null){
String uname=req.getParameter("name");
String umm=req.getParameter("mm");
if(name.equals(uname)&&mm.equals(umm))
{
res.sendRedirect("main.jsp");
}
else
{
res.sendRedirect("fail.jsp");
}
}
第2个回答 2012-07-16
可能是路径问题吧,建议参考使用jsp中的basepath变量的使用。
第3个回答 2012-07-16
从jsp页面开始发送servlet请求开始,然后在web.xml里面看下有没有相关的配置信息,相对应的类是不是正确,在servlet里面加入断点调试本回答被提问者和网友采纳
第4个回答 2012-07-16
检查一下 login 这个servlet有没有在web.xml中注册