这两天在研究一个程序源码,遇到一个奇怪的问题
这个程序包括一个登陆页面和一个登陆servlet
登陆jsp中包含两个输入项 用户名和密码   
当程序转入servlet中时,发现其servlet是这样写得,没有一句有效的业务逻辑处理语句,只有这样一个logonservlet.java程序,大家帮我看看这个程序是怎么处理和跳转的,谢谢大家了LogonServlet.java
package com.futuresoft.monitor.servlets;import com.futuresoft.monitor.platform.MyBaseServlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class LogonServlet extends MyBaseServlet
{ public LogonServlet()
{
} public void perform(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
throw new Error("Unresolved compilation problems: \n\tlogusers cannot be resolved\n\tlistener cannot be resolved\n\tSyntax error, insert \"AssignmentOperator Expression\" to complete Expression\n\tservletcontext cannot be resolved\n\tJVM cannot be resolved to a type\n\tSyntax error on token \"monitorexit\", delete this token\n");
}
}
MyBaseServlet.java
package com.futuresoft.monitor.platform;import com.futuresoft.monitor.user.CheckAvailable;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.servlet.*;
import javax.servlet.http.*;public class MyBaseServlet extends HttpServlet
{ private static final String CONTENT_TYPE = "text/html; charset=gb2312"; public MyBaseServlet()
{
} public void init()
throws ServletException
{
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html; charset=gb2312");
try
{
request.setCharacterEncoding("gb2312");
}
catch (UnsupportedEncodingException e)
{
request.setAttribute("info", "编码转换失败...");
forward(request, response, "/err.jsp");
return;
}
if (!CheckAvailable.checkSessionAvailable(request))
{
request.setAttribute("info", "session 失效...");
forward(request, response, "/err.jsp");
return;
} else
{
perform(request, response);
return;
}
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html; charset=gb2312");
try
{
request.setCharacterEncoding("gb2312");
}
catch (UnsupportedEncodingException e)
{
request.setAttribute("info", "编码转换失败...");
forward(request, response, "/err.jsp");
return;
}
if (!CheckAvailable.checkSessionAvailable(request))
{
request.setAttribute("info", "session 失效...");
forward(request, response, "/err.jsp");
return;
} else
{
perform(request, response);
return;
}
} public void perform(HttpServletRequest httpservletrequest1, HttpServletResponse httpservletresponse1)
throws ServletException, IOException
{
} public void forward(HttpServletRequest request, HttpServletResponse response, String url)
throws ServletException, IOException
{
ServletContext sc = getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher(url);
rd.forward(request, response);
} public void destroy()
{
}
}大家帮帮忙吧

解决方案 »

  1.   

    这个程序为什么只有异常处理的代码,而没有逻辑处理的代码啊,大家帮我看一下logon.jsp和web.xml看看是不是还有其他的程序入口
    logon.jsp
    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>金融综合业务监测分析预警系统[ Risk Monitor System of Finance Integrate ]</title>
    <script language="JavaScript1.3" src="/Track/js/checkinput.js"></script>
    <script language="JavaScript1.3" src="/Track/js/message.js"></script>
    <script language="JavaScript">
    <!--
    document.async="false";
    //delay 10;
    function checkAllInput(type){
      if(!checkInputStr(true,document.form1.logonname,"用户名"))
        return false;
      if(!checkInputStr(true,document.form1.logonpw,"密码"))
        return false;
      return true;
    }
    //-->
    </script>
    <link rel="stylesheet" href="style/style_001.css">
    <style type="text/css">
    <!--
    #Layer1 {
    position:absolute;
    width:596px;
    height:69px;
    z-index:1;
    background-image: url(images/logon.gif);
    }
    -->
    </style>
    </head><body class="body001" topmargin="0" leftmargin="0"
    oncontextmenu="window.event.returnValue=false"
    ondragstart="window.event.returnValue=false" onselectstart="event.returnValue=false">
    <div id="Layer1"></div>
    <div align="center"><center><table border="0" width="778" cellspacing="0" cellpadding="0" height="422">
      <tr>
        <td width="778" height="422" valign="top"><table border="0" cellspacing="0"
        cellpadding="0" width="778">
          <tr>
            <td width="778" height="69" valign="top"><table border="0" cellspacing="0" cellpadding="0"
            width="673">
              <tr>
                <td width="48"></td>
                <td width="38" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="100%" height="21"></td>
                  </tr>
                  <tr>
                    <td width="100%"><img src="images/rms-pic-001.jpg" width="38" height="41"></td>
                  </tr>
                </table>
                </td>
                <td width="9"></td>
                <td width="192" valign="top"><table border="0" width="100%" cellspacing="0"
                cellpadding="0">
                  <tr>
                    <td width="100%" height="24"></td>
                  </tr>
                  <tr>
                    <td width="100%"     height="9"></td>
                  </tr>
                  <tr>
                    <td width="100%" height="3"></td>
                  </tr>
                  <tr>
                    <td width="100%"><img src="images/rms-pic-003.jpg" width="192" height="26"></td>
                  </tr>
                </table>
                </td>
                <td width="260" valign="top"><table border="0" width="100%" cellspacing="0"
                cellpadding="0">
                  <tr>
                    <td width="100%" height="11"></td>
                  </tr>
                  <tr>
                    <td width="100%">&nbsp;</td>
                  </tr>
                </table>
                </td>
                <td width="11"></td>
                <td width="115" valign="top"><img src="images/rms-pic-005.jpg" width="115" height="69"></td>
              </tr>
            </table>
            </td>
          </tr>
          <tr>
            <td width="778" height="16"><div align="right"><table border="0" cellspacing="0"
            cellpadding="0">
              <tr>
                <td><img src="images/rms-pic-006.jpg" width="144" height="16"></td>
                <td width="98"></td>
              </tr>
            </table>
            </div></td>
          </tr>
          <tr>
            <td width="778" height="1"><div align="right"><table border="0" cellspacing="0"
            cellpadding="0">
              <tr>
                <td><img src="images/rms-pic-007.jpg" width="144" height="1"></td>
                <td width="98"></td>
              </tr>
            </table>
            </div></td>
          </tr>
          <tr>
            <td width="778" height="277" valign="top"><table border="0" cellspacing="0"
            cellpadding="0" width="778" height="277">
              <tr>
                <td width="424" valign="top"><table border="0" cellspacing="0" cellpadding="0" width="424">
                  <tr>
                    <td width="424" height="15"></td>
                  </tr>
                  <tr>
                    <td width="424" height="41" align="right"><img src="images/rms-pic-008.jpg" width="376"
                    height="41"></td>
                  </tr>
                  <tr>
                    <td width="424" height="140" valign="top"><table border="0" cellspacing="0"
                    cellpadding="0" width="424" height="140">
                      <tr>
                        <td width="134" height="140" valign="top"><img src="images/rms-pic-013.jpg" width="134"
                        height="140"></td>
                        <td width="290" height="140" valign="top" class="bg001"><form name="form1" method="POST"
                        action="/Track/logonservlet">
                          <!--webbot bot="SaveResults" startspan U-File="_private/form_results.txt"
                          S-Format="TEXT/CSV" S-Label-Fields="TRUE" --><!--webbot bot="SaveResults" endspan --><table
                          border="0" width="100%" cellspacing="0" cellpadding="0">
                            <tr>
                            <td width="100%" height="24"></td>
                            </tr>
                            <tr>
                            <td width="100%"><table border="0" cellspacing="0" cellpadding="0">
                            <tr>
                            <td width="96"></td>
                            <td><input class="input001" maxLength="6" size="25" name="logonname"></td>
                            </tr>
                            <tr>
                            <td width="96" height="9"></td>
                            <td height="9"></td>
                            </tr>
                            <tr>
                            <td width="96"></td>
                            <td><input class="input001" type="password" maxLength="6" size="25" name="logonpw"></td>
                            </tr>
                            </table>
                            </td>
                            </tr>
                            <tr>
                            <td width="100%" height="17"></td>
                            </tr>
                            <tr>
                            <td width="100%"><table border="0" cellspacing="0" cellpadding="0">
                            <tr>
                            <td width="96"></td>
                <td width="48"></td>
                            <td width="194"><table border="0" cellspacing="0" cellpadding="0">
                            <tr>
                            <td><input type="image" src="images/rms-button-login.jpg" width="48" height="19" border="0" onClick="javascript:return checkAllInput();"></td>
                            <td width="15"></td>
                            <td>&nbsp;</td>
                            <td width="7"><img src="images/rms-button-resat.jpg" width="48" height="19" onClick="javascript:reset();"></td>                            <td>&nbsp;</td>
                            </tr>
                            </table>
                            </td>
                            </tr>
                            </table>
                            </td>
                            </tr>
                          </table>
                        </form>
                        </td>
                      </tr>
                    </table>
                    </td>
                  </tr>
                  <tr>
                    <td width="424" height="81" valign="top"><table border="0" cellspacing="0" cellpadding="0"
                    width="424" height="81">
                      <tr>
                        <td width="134" height="81" valign="top"><img src="images/rms-pic-014.jpg" width="134"
                        height="81"></td>
                        <td width="290" height="81" valign="top"><img src="images/rms-pic-012.jpg" width="290"
                        height="81"></td>
                      </tr>
                    </table>
                    </td>
                  </tr>
                </table>
                </td>
                <td width="354" valign="top"><table border="0" width="100%" cellspacing="0"
                cellpadding="0">
                  <tr>
                    <td width="100%" height="145"><img src="images/rms-pic-009.jpg" width="354" height="145"></td>
                  </tr>
                  <tr>
                    <td width="100%" height="129"><img src="images/rms-pic-010.jpg" width="354" height="129"></td>
                  </tr>
                  <tr>
                    <td width="100%" height="3"></td>
                  </tr>
                </table>
                </td>
              </tr>
            </table>
            </td>
          </tr>
          <tr>
            <td width="778"><div align="center"><center><table border="0" cellspacing="0"
            cellpadding="0">
              <tr>
                <td valign="top"><img src="images/rms-pic-015.jpg" width="13" height="19"></td>
                <td width="574" class="bg002" height="40" align="center">Copyright &copy; 2004 FUTURE
                INTERNATIONAL SOFTWARE. All Rights Reserved.</td>
                <td valign="top"><img src="images/rms-pic-016.jpg" width="13" height="19"></td>
              </tr>
            </table>
            </center></div></td>
          </tr>
        </table>
        </td>
      </tr>
    </table>
    </center></div>
    </body>
    </html>
    <%
      session=request.getSession(true);
      session.setAttribute("FLAG","1");
    %>
      

  2.   

    web.xml
    web.xml
    [code=XML]<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <filter>
        <filter-name>Encoding</filter-name>
        <filter-class>com.futuresoft.monitor.platform.dbutil.CharsetFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>GBK</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>Encoding</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      <listener>
    <listener-class>com.futuresoft.monitor.specialalarm.SpecialManage</listener-class>
      </listener>
      <servlet>
        <servlet-name>DisplayChart</servlet-name>
        <display-name>DisplayChart</display-name>
        <description>Display Chart</description>
        <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>basekeyservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.BaseKeyServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>clientbuyservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.ClientBuyServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>cliententityservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.ClientEntityServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>combcodeservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.CombCodeServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>entirelcompservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.EntiRelCompServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>entiupdcompservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.EntiUpdCompServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>flowinfoservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.FlowInfoServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>gainalarminfoservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.GainAlarmInfoServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>gainbrchstateservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.GainBrchStateServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>hisbigpdfservlet</servlet-name>
        <servlet-class>report.HisBigPdfServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>hisflowconservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.HisFlowConServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>hissdnpdfservlet</servlet-name>
        <servlet-class>report.HisSdnPdfServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>histflowviewservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.HistFlowViewServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>latergainalarminfoservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.LaterGainAlarmInfoServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>laterqueryalarminfoservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.laterQueryAlarmInfoServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>logmanageslt</servlet-name>
        <display-name>logmanageslt</display-name>
        <description>log management</description>
        <servlet-class>com.futuresoft.monitor.servlets.LogManageSLT</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>logonservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.LogonServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>logoutservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.LogoutServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>menuservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.MenuServlet</servlet-class>
      </servlet>
      
      <servlet-mapping>
        <servlet-name>msgservlet</servlet-name>
        <url-pattern>/msgservlet</url-pattern>
      </servlet-mapping>
       <servlet-mapping>
        <servlet-name>basekeyservlet</servlet-name>
        <url-pattern>/basekeyservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>clientbuyservlet</servlet-name>
        <url-pattern>/clientbuyservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>cliententityservlet</servlet-name>
        <url-pattern>/cliententityservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>combcodeservlet</servlet-name>
        <url-pattern>/combcodeservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>entirelcompservlet</servlet-name>
        <url-pattern>/entirelcompservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>entiupdcompservlet</servlet-name>
        <url-pattern>/entiupdcompservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>flowinfoservlet</servlet-name>
        <url-pattern>/flowinfoservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>gainalarminfoservlet</servlet-name>
        <url-pattern>/gainalarminfoservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>gainbrchstateservlet</servlet-name>
        <url-pattern>/gainbrchstateservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>hisbigpdfservlet</servlet-name>
        <url-pattern>/hisbigpdfservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>hisflowconservlet</servlet-name>
        <url-pattern>/hisflowconservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>hissdnpdfservlet</servlet-name>
        <url-pattern>/hissdnpdfservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>histflowviewservlet</servlet-name>
        <url-pattern>/histflowviewservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>latergainalarminfoservlet</servlet-name>
        <url-pattern>/latergainalarminfoservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>laterqueryalarminfoservlet</servlet-name>
        <url-pattern>/laterqueryalarminfoservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>logmanageslt</servlet-name>
        <url-pattern>/logmanageslt</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>logonservlet</servlet-name>
        <url-pattern>/logonservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>logoutservlet</servlet-name>
        <url-pattern>/logoutservlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>menuservlet</servlet-name>
        <url-pattern>/menuservlet</url-pattern>
      </servlet-mapping>
       
      <!-- error-page>
        <error-code>404</error-code>
        <location>/jsp/error.jsp</location>
      </error-page-->
    </web-app>
    [/code]
      

  3.   

    留意下页面的 action="/Track/logonservlet">提交的 action URL 是 /Track/logonservlet, 有必要这样写吗?在 WEB.XML 里映射的 servlet 是否会起作用?思考下。
      

  4.   

    告诉ls的。。会。。如果你在weblogic下不配置这个项目是默认的app  就要和lz这样配置才
      

  5.   

    kadach11,这个是可以的,现在我在调试的时候,都会转到logonservlet.java中,我奇怪的是这个程序处理登陆的代码在哪里?
      

  6.   

    你在logonservlet中perform中设断点看看
      

  7.   

    <td width="290" height="140" valign="top" class="bg001"><form name="form1" method="POST" action="/Track/logonservlet">
    看上面的action提交的servlet,你在web.xml没有配置,肯定找不到提交的位置。
    你在web.xml是这样配置的 <servlet>
        <servlet-name>logonservlet</servlet-name>
        <servlet-class>com.futuresoft.monitor.servlets.LogonServlet</servlet-class>
      </servlet>
    这样的话在提交的时候会报错的。
    把action的/track去掉,或者把<servlet-name>logonservlet</servlet-name>
    改成<servlet-name>Track/logonservlet</servlet-name>
    看看你的目录是不是根目录,注意要不要“/”,有的时候也会出错的,自己试试
      

  8.   

    yaoweisbgkqyng,这个servlet设置没问题,我可以进到该程序里面,就是找不到程序的下一步入口啊,现在问题的关键是这个servlet唯一的一条语句就是一个异常处理,没有其他东西了,并且这个程序在服务器上是完全可以运行的,唯一的问题在于我把他导入MyEclipse中分析时,就进不到程序里面了,太奇怪了
      

  9.   

    换句话说,大家帮我想想,为什么这个servlet中为什么没有登陆的逻辑处理语句
      

  10.   

    楼主确定实际执行的class对应的就是你给出的这个源代码?
      

  11.   

    在form表单中 <form name="form1" method="POST" action="/Track/logonservlet"> action这样写与在web.xml是配置的 <servlet> <servlet-name>logonservlet </servlet-name> 
        <servlet-class>com.futuresoft.monitor.servlets.LogonServlet </servlet-class> 
      </servlet> 是可以的,servlt中的逻辑只是处理了字符转换的问题,逻辑判断没有,楼主你是不是把源码没有搞完全啊?