public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception
{
//解析用户请求参数
String username=request.getParameter("username");
String pass=request.getParameter("pass");
//出错提示
String errMsg=" ";
//进行服务器端的数据校验
if(username!=null||username.equals(""))
{
errMsg+="你的用户名丢失或没有输入,请重新输入";
}
else if(pass==null||pass.equals(" "));
{
errMsg+="你的密码丢失或没有输入,请重新输入";
}
else
{ try
{
DbDao dd=DbDao.instance("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Bus_DataBase","sqq4290","sqq8221620");
ResultSet rs=dd.query("select password from user_table where username='"+username+"'");
if(rs.next())
{
if(rs.getString("password").equals(pass))
{
HttpSession session=request.getSession(true);
session.setAttribute("name",username);
return mapping.findForward("welcome");
}
else
{
errMsg+="你的用户名不存在,请先注册";
}
}
}
catch(Exception e)
{
request.setAttribute("exception", "业务异常");
return mapping.findForward("error");
}
}
if(errMsg!=null&&!errMsg.equals(""))
{
request.setAttribute("err",errMsg);
return mapping.findForward("input");
}
else
{
return mapping.findForward("welcome");
}
}
上面这个方法里面的else有什么问题?
我的eclispse3.2老对这个地方报错
HttpServletRequest request, HttpServletResponse response)throws Exception
{
//解析用户请求参数
String username=request.getParameter("username");
String pass=request.getParameter("pass");
//出错提示
String errMsg=" ";
//进行服务器端的数据校验
if(username!=null||username.equals(""))
{
errMsg+="你的用户名丢失或没有输入,请重新输入";
}
else if(pass==null||pass.equals(" "));
{
errMsg+="你的密码丢失或没有输入,请重新输入";
}
else
{ try
{
DbDao dd=DbDao.instance("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Bus_DataBase","sqq4290","sqq8221620");
ResultSet rs=dd.query("select password from user_table where username='"+username+"'");
if(rs.next())
{
if(rs.getString("password").equals(pass))
{
HttpSession session=request.getSession(true);
session.setAttribute("name",username);
return mapping.findForward("welcome");
}
else
{
errMsg+="你的用户名不存在,请先注册";
}
}
}
catch(Exception e)
{
request.setAttribute("exception", "业务异常");
return mapping.findForward("error");
}
}
if(errMsg!=null&&!errMsg.equals(""))
{
request.setAttribute("err",errMsg);
return mapping.findForward("input");
}
else
{
return mapping.findForward("welcome");
}
}
上面这个方法里面的else有什么问题?
我的eclispse3.2老对这个地方报错
{
errMsg+="你的用户名不存在,请先注册";
}
这里面没有return Mapping
没仔细看,你加个return null;看看
1.String username=request.getParameter("username");应该用trim修饰,pass一样
2.if(username!=null||username.equals(""));username==null
3.else if(pass==null||pass.equals(" "));equals(“ ”)出空格了
4.mapping没跳转就不看了,在方法里面定义一个公共的jumpTo变量就Ok了,最后做mapping.forward()就可以了
HttpServletRequest request, HttpServletResponse response)throws Exception
{
//解析用户请求参数
String username=request.getParameter("username");
String pass=request.getParameter("pass");
//出错提示
String errMsg=" ";
//进行服务器端的数据校验
if(username!=null||username.equals(""))
{
errMsg+="你的用户名丢失或没有输入,请重新输入";
}
else if(pass==null||pass.equals(" "));这里多个分号
{
errMsg+="你的密码丢失或没有输入,请重新输入";
}
else
{ try
{
DbDao dd=DbDao.instance("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Bus_DataBase","sqq4290","sqq8221620");
ResultSet rs=dd.query("select password from user_table where username='"+username+"'");
if(rs.next())
{
if(rs.getString("password").equals(pass))
{
HttpSession session=request.getSession(true);
session.setAttribute("name",username);
return mapping.findForward("welcome");
}
else
{
errMsg+="你的用户名不存在,请先注册";
}
}
}
catch(Exception e)
{
request.setAttribute("exception", "业务异常");
return mapping.findForward("error");
}
}
if(errMsg!=null&&!errMsg.equals(""))
{
request.setAttribute("err",errMsg);
return mapping.findForward("input");
}
else
{
return mapping.findForward("welcome");
}
}
ee4456老兄这次不用在里面添return null 了,因为里面有else