CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

有JSP 高手没?初学Struts 茫然了!谁能帮我解决问题 最后50分全部大放送!结分的和说什么“顶”之类废话的闪开!!!在线等!!!

楼主panpan123530(月光下吻别)2006-10-23 13:43:42 在 Java / Web 开发 提问

Struts   做的   登陆和注册页面  
  注册   ,不能判断用户名是否成在  
  登陆,不管   输入什么密码和名字,都可以登陆?  
  详细问题加QQ   我不在乎送多少分   关键是谁能帮我解决问题!!!代码太长了就不贴了!  
  问题点数:50、回复次数:23Top

1 楼xiaoyetao08(人尚未成为人)回复于 2006-10-23 13:50:43 得分 5

贴啊  
  你不帖我怎么帮你改????????????Top

2 楼chuzhijun(幽恋)回复于 2006-10-23 13:58:29 得分 5

你在你的ACTION方法里面跟踪下,然后了解下struts的导航应该就可以了Top

3 楼panpan123530(月光下吻别)回复于 2006-10-23 13:59:26 得分 0

Dao  
  public   void   denglu(DengForm   f   )   {  
  Connection   conn   =   null;  
  PreparedStatement   stmt   =   null;  
  ResultSet   rs   =   null;  
  String   sql   =   "select   *   from   login3   where   user=?   and   passwd1=?";  
   
  try   {  
  conn   =   ds.getConnection();  
  stmt   =conn.prepareStatement(sql);  
  rs=stmt.executeQuery();  
   
   
  stmt.setString(2,   f.getName());  
  stmt.setString(3,f.getPasswd1());  
  rs.next();  
   
  if(rs.next()){  
  rs.getString(2);  
  }  
   
  }   catch   (Exception   err)   {  
  err.printStackTrace();  
   
  }   finally   {  
  if   (rs   !=   null)  
  try   {  
  rs.close();  
  }   catch   (Exception   ee)   {  
  }  
  if   (stmt   !=   null)  
  try   {  
  stmt.close();  
  }   catch   (Exception   ee)   {  
  }  
  if   (conn   !=   null)  
  try   {  
  conn.close();  
  }   catch   (Exception   ee)   {  
  }  
  }  
   
   
   
  }  
  Top

4 楼panpan123530(月光下吻别)回复于 2006-10-23 13:59:55 得分 0

Action    
   
   
   
  public   class   DengAction   extends   Action   {  
   
   
   
   
  public   ActionForward   execute(ActionMapping   mapping,   ActionForm   form,  
  HttpServletRequest   request,   HttpServletResponse   response)   {  
  DengForm   dengForm   =   (DengForm)   form;//   TODO   Auto-generated   method   stub  
  zhuce1   zhu1   =   new   zhuce1();  
  zhuce   z   =   new   zhuce(getDataSource(request,   "database"));  
   
  String   sl1   =   null;  
   
  if(form   instanceof   DengForm){  
  z.denglu(dengForm);}  
  if(zhu1.getName()==dengForm.getName()){  
   
   
  return   mapping.findForward("chenggong");  
  }else{  
  return   mapping.findForward("shibai");  
  }  
  }  
   
  }  
   
      FormBean    
  ublic   class   DengForm   extends   ActionForm   {  
  /*  
    *   Generated   fields  
    */  
   
  /**   passwd1   property   */  
  private   String   passwd1="passwd1";  
   
  /**   name   property   */  
  private   String   name="name";  
   
  /*  
    *   Generated   Methods  
    */  
   
  /**    
    *   Method   validate  
    *   @param   mapping  
    *   @param   request  
    *   @return   ActionErrors  
    */  
  public   ActionErrors   validate(ActionMapping   mapping,  
  HttpServletRequest   request)   {  
  //   TODO   Auto-generated   method   stub  
  return   null;  
  }  
   
  /**    
    *   Method   reset  
    *   @param   mapping  
    *   @param   request  
    */  
  public   void   reset(ActionMapping   mapping,   HttpServletRequest   request)   {  
  //   TODO   Auto-generated   method   stub  
  }  
   
  /**    
    *   Returns   the   passwd1.  
    *   @return   String  
    */  
  public   String   getPasswd1()   {  
  return   passwd1;  
  }  
   
  /**    
    *   Set   the   passwd1.  
    *   @param   passwd1   The   passwd1   to   set  
    */  
  public   void   setPasswd1(String   passwd1)   {  
  this.passwd1   =   passwd1;  
  }  
   
  /**    
    *   Returns   the   name.  
    *   @return   String  
    */  
  public   String   getName()   {  
  return   name;  
  }  
   
  /**    
    *   Set   the   name.  
    *   @param   name   The   name   to   set  
    */  
  public   void   setName(String   name)   {  
  this.name   =   name;  
  }  
  }  
  帮我   看看哪里有问题    
  Top

5 楼panpan123530(月光下吻别)回复于 2006-10-23 14:00:37 得分 0

这是登陆页面  
  <%@   page   contentType="text/html;charset=gb2312"   %>  
   
  <%@   taglib   uri="http://jakarta.apache.org/struts/tags-bean"   prefix="bean"   %>  
  <%@   taglib   uri="http://jakarta.apache.org/struts/tags-html"   prefix="html"   %>  
  <%@   taglib   uri="http://jakarta.apache.org/struts/tags-logic"   prefix="logic"   %>  
  <%@   taglib   uri="http://jakarta.apache.org/struts/tags-tiles"   prefix="tiles"   %>  
  <%@   taglib   uri="http://jakarta.apache.org/struts/tags-template"   prefix="template"   %>  
  <%@   taglib   uri="http://jakarta.apache.org/struts/tags-nested"   prefix="nested"   %>  
   
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN">  
  <html:html   locale="true">  
   
      <head>  
          <html:base   />          
          <title>denglu.jsp</title>  
  <meta   http-equiv="pragma"   content="no-cache">  
  <meta   http-equiv="cache-control"   content="no-cache">  
  <meta   http-equiv="expires"   content="0">          
  <meta   http-equiv="keywords"   content="keyword1,keyword2,keyword3">  
  <meta   http-equiv="description"   content="This   is   my   page">  
  <!--  
  <link   rel="stylesheet"   type="text/css"   href="styles.css">  
  -->  
      </head>      
    <body>  
          <html:form   action="/deng"   method="post"   >  
          <center><font   color=red>${}</font></center>  
          <hr>  
              <table   border="0">  
                   
                      姓名:<input   type=""   name="name">  
                    密码:<input   type=""   name="passwd1">  
                   
                   
                   
                    <td   colspan="2"   align="center"><html:submit   /></td>  
                  </tr>  
              </table>  
          </html:form>  
       
      </body>  
  </html:html>  
  Top

6 楼xiaoyetao08(人尚未成为人)回复于 2006-10-23 14:04:43 得分 0

"       <html:form   action="/deng"   method="post"   >"?  
  你的CONFIG.XML文件呢?  
  报的错也贴下Top

7 楼xiaoyetao08(人尚未成为人)回复于 2006-10-23 14:05:33 得分 0

你数据库建好了没?????Top

8 楼shine333(enihs)回复于 2006-10-23 14:11:54 得分 10

TO   LZ:  
   
  First   of   all,   i   have   to   say   that   u   have   no   talent   in   this.   However,   some   hard   work   might   help.   Anyway,   may   god   bless   u  
   
  The   problem   was   caused   as   you   lost   the   information   in   your   DAO   whether   or   not   the   result   set   has   next   rows.  
   
  Your   DAO   should   tell   your   Action   whether   this   user's   login   is   OK   or   failed   in   the   following   aspects:    
  1.   the   user   exsits   or   not   (rs.next())  
  2.   the   user's   id/name   and   password   match   or   not   (form.password.equals(rs.getString(..)))  
   
  Besides,   there   are   still   so   many   mistakes   in   your   codes,   especially   in   JDBC.  
   
  regardsTop

9 楼xiaoyetao08(人尚未成为人)回复于 2006-10-23 14:17:15 得分 10

if(rs.next()){  
    rs.getString()  
  }  
   
  form.password.equals(rs.getString(..))  
  DAO里你在仔细看看  整理清楚  
  这个你懂以后你会上一个新台阶的  
  祝福你  
   
  1取值问题  
  2你那成功和失败页面不知道你写了没Top

10 楼suncheng_hong(亮)回复于 2006-10-23 14:18:58 得分 10

楼主qq,我可以远程协助Top

11 楼xiaoyetao08(人尚未成为人)回复于 2006-10-23 14:23:38 得分 0

我在公司上班啊  
  老板就在我旁边  
   
  你别急  
  想清楚  不难的  
   
  祝福你了  
   
  你就快OK了  
  程序员出问题太正常了Top

12 楼killjim(田下洋)回复于 2006-10-23 14:40:56 得分 0

stmt.setString(2,   f.getName());  
  stmt.setString(3,f.getPasswd1());  
  rs.next();  
   
  if(rs.next()){  
  rs.getString(2);  
  } 应该使这里错误   下面还没看呢Top

13 楼china2001ok(开心拽拽)回复于 2006-10-23 14:47:07 得分 5

rs.next();  
   
  if(rs.next()){  
  rs.getString(2);  
  }  
   
  这个有问题吧  
  if(rs.next()){  
  rs.getString(2);  
  }  
  Top

14 楼enet_java(skyliu)回复于 2006-10-23 15:02:45 得分 5

rs=stmt.executeQuery();  
   
   
  stmt.setString(2,   f.getName());  
  stmt.setString(3,f.getPasswd1());  
   
  为什么是从2开始的呢?这个地方好像是有问题。。可以把这个位置换成  
  stmt.setString(1,   f.getName());  
  stmt.setString(2,f.getPasswd1());  
  rs=stmt.executeQuery();  
  试一下。希望能够帮助你Top

15 楼panpan123530(月光下吻别)回复于 2006-10-23 15:20:13 得分 0

我的QQ   396110944   谢谢大家的帮助!问题结了   我马上给分!!!Top

16 楼panpan123530(月光下吻别)回复于 2006-10-23 15:23:43 得分 0

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   >  
              <data-source   key="database">  
                    <set-property   property="password"   value=""   />  
                    <set-property   property="minCount"   value="1"   />  
                    <set-property   property="maxCount"   value="20"   />  
                    <set-property   property="user"   value="root"   />  
                    <set-property   property="driverClass"   value="com.mysql.jdbc.Driver"   />  
                    <set-property   property="description"   value=""   />  
                    <set-property   property="url"   value="jdbc:mysql://localhost:3306/user_login"   />  
                    <set-property   property="readOnly"   value="false"   />  
                    <set-property   property="autoCommit"   value="true"   />  
                    <set-property   property="loginTimeout"   value="10000"   />  
              </data-source>  
   
      </data-sources>  
       
       
      <form-beans   >  
          <form-bean   name="yanzhengForm"   type="com.yourcompany.struts.form.YanzhengForm"   />  
      <form-bean   name="dengluForm"   type="com.yourcompany.struts.form.dengluForm"   />  
          <form-bean   name="dengForm"   type="com.yourcompany.struts.form.DengForm"   />  
          <form-bean   name="deleteForm"   type="com.yourcompany.struts.form.DeleteForm"   />  
   
      </form-beans>  
   
      <global-exceptions   />  
      <global-forwards   />  
      <action-mappings   >  
          <action  
              attribute="yanzhengForm"  
              input="/zhuce.jsp"  
              name="yanzhengForm"  
              path="/yanzheng"  
              scope="request"  
              type="com.yourcompany.struts.action.YanzhengAction">  
              <forward   name="chenggong"   path="/chenggong.jsp"   />  
              <forward   name="shibai"   path="/shibai.jsp"   />  
          </action>  
          <action  
              attribute="dengForm"  
              input="/denglu.jsp"  
              name="dengForm"  
              path="/deng"  
              scope="request"  
              type="com.yourcompany.struts.action.DengAction">  
              <forward   name="chenggong"   path="/chenggong.jsp"   />  
              <forward   name="shibai"   path="/shibai.jsp"   />  
          </action>  
          <action  
              attribute="deleteForm"  
              input="/delete.jsp"  
              name="deleteForm"  
              path="/delete"  
              scope="request"  
              type="com.yourcompany.struts.action.DeleteAction"  
              validate="false">  
              <forward   name="chenggong"   path="/chenggong.jsp"   />  
              <forward   name="shibai"   path="/shibai.jsp"   />  
          </action>  
           
           
           
   
      </action-mappings>  
   
      <message-resources   parameter="com.yourcompany.struts.ApplicationResources"   />  
  </struts-config>  
   
  Top

17 楼weky(weky)回复于 2006-10-23 15:32:41 得分 0

这倒是和我们公司所做的系统很相似~~Top

18 楼vannel(CHLL.Vannel)回复于 2006-10-23 15:39:13 得分 0

在登录的页面里,  
                      姓名:<input   type=""   name="name">  
                    密码:<input   type=""   name="passwd1">  
   
  不用input,用<html:text   property="name"   />和<html:password   property="passwd1"   />  
  另外,你的formBean要有name和passwd1这2个属性,还要有setter和getter方法。  
  在struts-config里面对formbean和action的设置也要注意。Top

19 楼yougucao379548695(郑州-小刘)回复于 2006-10-23 19:43:19 得分 0

赌东道赌东道赌东道的Top

20 楼tcmis(难道你忘了吗?)回复于 2006-10-23 21:52:17 得分 0

你的这个地方绝对用问题,  
  if(zhu1.getName()==dengForm.getName()){  
   
  看见没有,你比较两个字符串,不能用==去比较,必须用equals去比较,就没有问题了。Top

21 楼windproof(windproof)回复于 2006-10-23 22:26:40 得分 0

小弟也认为这个地方有问题!if(zhu1.getName()==dengForm.getName()){........}  
  必须用equals去比较。==比较出的结果总是false。Top

22 楼doog2004()回复于 2006-10-25 09:52:05 得分 0

对字符比较串比较不能用==,要用equalsTop

23 楼backhamx7(无敌大西瓜)回复于 2006-10-25 10:44:37 得分 0

应该是先  
  stmt.setString(2,   f.getName());  
  stmt.setString(3,f.getPasswd1());  
  完了在  
  rs   =   stmt.executeQuery();  
  还有就是字符串比较   应该用equals    
  ==比的是引用   而equals   比的是字符串的内容  
   
   
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:panpan123530
  • xiaoyetao08
  • chuzhijun
  • shine333
  • xiaoyetao08
  • suncheng_hong
  • china2001ok
  • enet_java

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo