日期:2014-05-19  浏览次数:20672 次

jsp+servlet+javaBean登录,页面转发,求助
我用jsp+servlet+javaBean做了一个登录。要求登录成功时跳转登录成功页面,失败时跳转至失败页面。但是,我在转发方面和提交方面有些不会,求助。代码如下:
javabean:
public class userInfo {
private String uid;
public userInfo(int id ,String uid, String pwd) {
super();
this.id = id;
this.uid = uid;
this.pwd = pwd;
}
public userInfo() {
// TODO Auto-generated constructor stub
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
private int id;
private String pwd;
}
servlet代码:
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
String name=request.getParameter("uid");
String pwd=request.getParameter("pwd");
//调用有参数的查询方法
userInfo user=loginService.Login(name, pwd);
if(user!=null){
System.out.println(user+"........");
request.getRequestDispatcher("index.jsp").forward(request, response);

}else{
request.getRequestDispatcher("Fail.jsp").forward(request, response);
}
service方法如下://实现系统登录功能,若登录成功,则返回userInfo实例
public  static  userInfo Login(String uid,String pwd){
//构造sql语句
String sql="select * from userInfo where uid=? and PWD=?";
Object[] params={uid,pwd};
userInfo us=null;
//调用数据层javabean层
Result result=BaseDAO.runSelectSql(sql, params);
if(result.getRowCount()>0){

Map row=result.getRows()[0];//获取一行
int id=Integer.parseInt(row.get("id").toString());//获取编号
userInfo user=new userInfo(id, uid, pwd);//实例化userinfo
return user;
}
return null;//登录失败,返回null
}
jsp页面代码如下:
<form action="loginServlet" method="post">
   <table>
   <tr>
   <td colspan="2">系统登录</td>
   </tr>
   <tr>
    <td>登录名</td>
    <td><input type="text" name="uid" size="20"/></td>
   </tr>
    <tr>
    <td>密码</td>
    <td><input type="text" name="pwd" size="20"/></td>
   </tr>
   <tr>
   <td><input type="submit" value="登录"/><input type="button" name="Submit" value="退出" onclick="javaScript:window.close();"></td>
   </tr>
   </table>
   </form>谢谢
------最佳解决方案--------------------
没看明白什么意思

response.redirect("index.jsp");
替换下面的试试
request.getRequestDispatcher("index.jsp").forward(request, response);
------其他解决方案--------------------
http://download.csdn.net/detail/wanglin1037/4826366

lz可以看看这个!