这两天在研究一个程序源码,遇到一个奇怪的问题
这个程序包括一个登陆页面和一个登陆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()
{
}
}大家帮帮忙吧
这个程序包括一个登陆页面和一个登陆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()
{
}
}大家帮帮忙吧
解决方案 »
- 导出 Excel 文件怎样命名?
- 求助!JSP为了防止重复添加记录违反PRIMARY KEY 约束
- JSP插入数据库乱码问题好严重阿,急啊
- 在jsp页面中,使用out.println输出字符是否有限制?为何当我输出很长字符时,就出现输出不完导致整个页面无法显示的问题?
- java servlet如何返回数据给flash啊??
- 20 分问:javascript 的简单问题 onclick事件
- 请帮忙看一下这两段代码的问题.谢谢指点!
- javasript小问题
- 怎样在jsp页面中从本地存图象文件到sqlserver中,并从库中读出该文件.
- 关于JSP+javabean中得到复选框的值的问题
- 普通用户与管理员登录,使用同一个action如何实现?
- struts2,我修改时,IE地址上老显示id值,怎样隐藏id值,请帮忙看一下
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%"> </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> </td>
<td width="7"><img src="images/rms-button-resat.jpg" width="48" height="19" onClick="javascript:reset();"></td> <td> </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 © 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");
%>
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]
看上面的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>
看看你的目录是不是根目录,注意要不要“/”,有的时候也会出错的,自己试试
<servlet-class>com.futuresoft.monitor.servlets.LogonServlet </servlet-class>
</servlet> 是可以的,servlt中的逻辑只是处理了字符转换的问题,逻辑判断没有,楼主你是不是把源码没有搞完全啊?