最近,做过struts和hibernate的项目,出现了个奇怪的问题,登录页面填上用户名密码后转向,结果成了空白页面,也没有什么错误提示,怎么解决啊
这是login.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>JSP for loginForm form</title>
</head>
<body>
<H4> 欢迎登录 </H4>
<form action="login.do" method="post">
用户名:<input type="text" name="username" /><br>
密码:<input type="password" name="password" /><br>
<input type="hidden" name="method" value="login" />
<input type="submit" name="submit" value="Login" />
</form>
</body>
</html>
这是struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="com.ebook.struts.form.LoginForm" />
</form-beans>
<action-mappings>
<action attribute="loginForm"
name="loginForm"
parameter="method"
path="/login"
scope="request"
type="com.ebook.struts.action.LoginAction">
<forward name="login" path="/login.jsp" />
</action-mappings>
</struts-config>
这是Action类:public class LoginAction extends DispatchAction {
public ActionForward login(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
System.out.println("dfs");
request.getSession().removeAttribute("loginUser");
LoginForm loginForm = (LoginForm) form;
// TODO Auto-generated method stub
System.out.println("dfs");
List list = getEBookStore().getUserService().findUserByNameandPwd(loginForm.getUsername(),loginForm.getPassword());
UserInfo user = null;
if(list==null||list.size()==0){
request.setAttribute("message","登录失败!");
return mapping.findForward("failure");
}
else {
user = (UserInfo)list.get(0);
}
request.getSession().setAttribute("loginUser",user);
return mapping.findForward("success");
}
}
以下是日志:
setProperty(com.ebook.struts.form.LoginForm@f801c4, submit, [Login])
936594 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.BeanUtils - setProperty(com.ebook.struts.form.LoginForm@f801c4, method, [login])
936609 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.BeanUtils - setProperty(com.ebook.struts.form.LoginForm@f801c4, password, [dfd])
936609 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.ConvertUtils - Convert string 'dfd' to class 'java.lang.String'
936609 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.ConvertUtils - Using converter org.apache.commons.beanutils.converters.StringConverter@bc9f58
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor - Validating input form properties
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor - No errors detected, accepting input
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor - Looking for Action instance for class com.ebook.struts.action.LoginAction
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor - Returning existing Action instance
942140 DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.session.ManagerBase - Start expire sessions StandardManager at 1225180725671 sessioncount 1
942140 DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.session.ManagerBase - End expire sessions StandardManager processingTime 0 expired sessions: 0
怎么解决啊
这是login.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>JSP for loginForm form</title>
</head>
<body>
<H4> 欢迎登录 </H4>
<form action="login.do" method="post">
用户名:<input type="text" name="username" /><br>
密码:<input type="password" name="password" /><br>
<input type="hidden" name="method" value="login" />
<input type="submit" name="submit" value="Login" />
</form>
</body>
</html>
这是struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="com.ebook.struts.form.LoginForm" />
</form-beans>
<action-mappings>
<action attribute="loginForm"
name="loginForm"
parameter="method"
path="/login"
scope="request"
type="com.ebook.struts.action.LoginAction">
<forward name="login" path="/login.jsp" />
</action-mappings>
</struts-config>
这是Action类:public class LoginAction extends DispatchAction {
public ActionForward login(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
System.out.println("dfs");
request.getSession().removeAttribute("loginUser");
LoginForm loginForm = (LoginForm) form;
// TODO Auto-generated method stub
System.out.println("dfs");
List list = getEBookStore().getUserService().findUserByNameandPwd(loginForm.getUsername(),loginForm.getPassword());
UserInfo user = null;
if(list==null||list.size()==0){
request.setAttribute("message","登录失败!");
return mapping.findForward("failure");
}
else {
user = (UserInfo)list.get(0);
}
request.getSession().setAttribute("loginUser",user);
return mapping.findForward("success");
}
}
以下是日志:
setProperty(com.ebook.struts.form.LoginForm@f801c4, submit, [Login])
936594 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.BeanUtils - setProperty(com.ebook.struts.form.LoginForm@f801c4, method, [login])
936609 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.BeanUtils - setProperty(com.ebook.struts.form.LoginForm@f801c4, password, [dfd])
936609 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.ConvertUtils - Convert string 'dfd' to class 'java.lang.String'
936609 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.ConvertUtils - Using converter org.apache.commons.beanutils.converters.StringConverter@bc9f58
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor - Validating input form properties
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor - No errors detected, accepting input
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor - Looking for Action instance for class com.ebook.struts.action.LoginAction
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor - Returning existing Action instance
942140 DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.session.ManagerBase - Start expire sessions StandardManager at 1225180725671 sessioncount 1
942140 DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.session.ManagerBase - End expire sessions StandardManager processingTime 0 expired sessions: 0
怎么解决啊
解决方案 »
- △△△struts整合spring出现个小错误,谁能帮我看看
- tomcat中,上传的文件的存储的默认相对根路径
- 请各位高手哥哥姐姐给详细讲解下这段代码什么意思谢谢
- java.lang.NoClassDefFoundError: org/aspectj/lang/Signature这是什么错误?
- lucene里删除不了索引请帮忙看看
- MSSQLSERVER的datetime 和smalldatetime类型
- 高手请帮忙
- 向jsp和javascript高手求救!
- 在jsp传值到struts1.3时,出现乱码怎么解决?
- 连接数据库提示我"DriverManager" is either a misplaced package name or a non-existent entity.
- 紧急:直接访问jsp显示正常,但如果用action转发后jsp最后总是少显示
- 使用resultSet的一点迷惑
没有配
return mapping.findForward("failure");
return mapping.findForward("success");struts-config.xml没有配置
<forward name="success" path="/succss.jsp" />
<forward name="failure" path="/login.jsp" />
然后再去编写对应的两个JSP页面~
return mapping.findForward("success");这里你的这个配置到哪里去了?
你的<forward name="...."....>怎么也得配置一个你的成功的转向啊.
比如:
<forward name="success" path="/login.jsp" />
return mapping.findForward("success");
但你在struts-config.xml文件中
对这个<forword name="success" path="/login.jsp">配置没,
没有,所以才会出现空白页情况!
里面加个属性为success的转向页面