Servlet没反应,不知道问题出在哪里?

dongGwo 2009-03-03 04:06:11
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
String login_error = new String();
response.setContentType(CONTENT_TYPE);
String username = new String(ParameterUtils.getString(request,"UserName").getBytes("iso-8859-1"),"gbk");
String password = new String(ParameterUtils.getString(request,"Password").getBytes("iso-8859-1"),"gbk");
HttpSession httpsession = request.getSession();
SessionManager session = new SessionManager();

Factory factory = Factory.getInstance();
User user = factory.getUser();
UserFactory userfactory = factory.getUserFactory();
int state = userfactory.ChkUser(username,password);
if(state==1){
response.sendRedirect("index.jsp");
session.setSession(httpsession,"SignUp",user.getUsername());
}
else{
login_error = "<h3>请确认用户名和密码,T.T,<a href='login.jsp'><span>返回</span></a></h3>";
session.setSession(httpsession,"login_errors", login_error);
response.sendRedirect("login.jsp");
}
}

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
doGet(request,response);
}

-----------
方法
public int ChkUser(String username,String password){
int state = 0;
User user = Factory.getInstance().getUser();
user = this.List(username);
if(user != null){
if(password.equals(user.getPassword())){
state = 1;
}
else state = 0;
}else state = 0;

return state;
}

没有报错,就是没有反应
...全文
255 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongGwo 2009-03-03
  • 打赏
  • 举报
回复
问题找到了。呵呵~我太粗心了,但是sendRedirect的路径没改。

但是新的问题出现了。
password.equals(user.getPassword())中的user.getPassword()取不到值。



方法中的user = this.List(username)方法会检查一下用户是否存在,同时把值都封装起来。
public User List(String username) {
User user = Factory.getInstance().getUser();
String str ="select * from user_info where username ='"+username+"' ";
try{
DBConnect dbconnect = new DBConnect();
dbconnect.excuteQuery(str);
if(dbconnect.next()){
user = Factory.getInstance().getUser();
user.setUsername(dbconnect.getString(2));
user.setNickname(dbconnect.getString(3));
user.setSex(dbconnect.getString(4));
user.setPassword(dbconnect.getString(5));
user.setEmail(dbconnect.getString(6));
user.setQuestion(dbconnect.getString(7));
user.setAnswer(dbconnect.getString(8));
user.setRealname(dbconnect.getString(9));
user.setBirthday(dbconnect.getString(10));
user.setPhone(dbconnect.getString(11));
user.setAddress(dbconnect.getString(12));
user.setHomepage(dbconnect.getString(13));
user.setIdentity(dbconnect.getString(14));
user.setSelfshow(dbconnect.getString(16));
user.setIfAdmi(dbconnect.getInt(17));
}
dbconnect.close();
}catch(Exception e){e.printStackTrace();}
return user;
}

user.getPassword()取不到值,什么问题?
earthsky 2009-03-03
  • 打赏
  • 举报
回复
int state = userfactory.ChkUser(username,password);
确定userFactory对象中有ChkUser方法
goldlive_8888 2009-03-03
  • 打赏
  • 举报
回复
估计访问servlet的路径错误,没调用servlet,你确认在web.xml配置的路径是你访问的路径。
dongGwo 2009-03-03
  • 打赏
  • 举报
回复
这个也试过了,没作用。

是我的public int ChkUser(String username,String password)方法有问题?


Hozenplotz 2009-03-03
  • 打赏
  • 举报
回复
response.sendRedirect("index.jsp");
sendRedirect方法,貌似,貌似代码里出现sendRedirect方法就直接跳转了
你用forward方法试试?
dongGwo 2009-03-03
  • 打赏
  • 举报
回复
测试过了,是有提交
Ami121 2009-03-03
  • 打赏
  • 举报
回复

//判断是否提交到servlet
System.out.println("=============");

String login_error = new String();
response.setContentType(CONTENT_TYPE);
String username = new String(ParameterUtils.getString(request,"UserName").getBytes("iso-8859-1"),"gbk");
String password = new String(ParameterUtils.getString(request,"Password").getBytes("iso-8859-1"),"gbk");
HttpSession httpsession = request.getSession();
SessionManager session = new SessionManager();

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧