jsp页面错误 高手帮看下

hanshuihu 2010-08-12 11:04:06
jsp页面如下
<%@ page language="java" import="java.util.*,javax.naming.*,javax.sql.*,java.sql.*,com.gt.login.*,com.gt.common.util.*,com.gt.formbean.jjd.xtgl.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
HttpSession mySession = request.getSession(true);
//错误消息
String errorMessage = "";
//获取cookie 存在则将cookie值写入登录用户名
String usernameCookie = "";
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
System.out.println("cookie:"+cookie.getName());
if ("usercookie".equals(cookie.getName())) {
usernameCookie = cookie.getValue(); // 得到cookie的用户名
}
}
}
System.out.println("@@@@@@@@@@@@@@@@@@@@页面建立连接!");
String flag = request.getParameter("flag");
//判断是否进行登录验证,如果flag为1时进行登录验证
if (flag != null && flag.trim().equals("1"))
{ //登录控制对象
Login log = new Login();
String username = request.getParameterValues("user")[0].trim();
String password = request.getParameterValues("pass")[0].trim();
if (log.isLogin(username,password))
{
//插入日志表
XtrzFormBean.insertXtrz(XtrzConstant.LOGIN,username, "", "");
session.setAttribute("user",username);
//设置cookie
Cookie usercookie=new Cookie("usercookie",username);
usercookie.setMaxAge(24*60*60);
//usercookie.setPath("/");
//usercookie.setDomain(request.getServerName());
response.addCookie(usercookie);

response.sendRedirect("index.jsp");
return;
} else {
errorMessage = log.getMessage();
}
}
else
{
errorMessage = "您还没有尝试登录.";
}

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html> <head>

<title>欢迎登录XXXXXXXX管理系统</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 href="css/global.css" rel="stylesheet" type="text/css" />
<link href="css/login.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" >
function doLogin(){
document.forms[0].flag.value = "1";
document.forms[0].submit();
alert("提交登陆!")
}
</script>
</head>

<body>
<div class="login">
<form action="login.jsp" method="post" name="form1">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="span1">用户</td>
<td ><input type="text" name="user" id="user" value="<%=usernameCookie %>"/></td>
</tr>
<tr>
<td class="span1">密码</td>
<td><input type="password" name="pass" id="pass" /></td>
</tr>
</table>
<ul>
<li><a class="btnLog" href="#" style="cursor:hand" onclick="doLogin()">登录</a></li>
<li><a class="btnReset" href="#" style="cursor:hand" onclick="document.forms[0].reset()">重置</a></li>
</ul>
<%= errorMessage%><input type="hidden" name="flag" id="flag"/>
</form>
</div>
</body>
</html>


报错为:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /login.jsp at line 24

21: //判断是否进行登录验证,如果flag为1时进行登录验证
22: if (flag != null && flag.trim().equals("1"))
23: { //登录控制对象
24: Login log = new Login();
25: String username = request.getParameterValues("user")[0].trim();
26: String password = request.getParameterValues("pass")[0].trim();
27: if (log.isLogin(username,password))


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:515)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:426)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.lang.NullPointerException
com.gt.login.Login.<init>(Login.java:51)
org.apache.jsp.login_jsp._jspService(login_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.10

高手指点下 感激不尽!
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ai593423625 2010-08-12
  • 打赏
  • 举报
回复
debug 一下···
hanshuihu 2010-08-12
  • 打赏
  • 举报
回复
上面那个login 的代码 为什么我写的system.out.println 后台都不打印呢?
hanshuihu 2010-08-12
  • 打赏
  • 举报
回复
package com.gt.login;

/**
* 用户登录控制类
* 控制用户登录,包括
* 1,验证用户登录名,密码
* 2,输出控制台提示消息
* 3, 获取用户信息
*
* @author gaofeiyun
*
*/

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.gt.util.db.ConnectionPool;

public class Login {
private int count;
private Connection con;
private Statement stmt;
private ResultSet rs;
private ConnectionPool db;

private String message;

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}
/**
* 构造方法
*/
public Login(){
count = 0;
con = null;
stmt = null;
rs = null;

db = new ConnectionPool("");
con = db.getConnection();
try
{
System.out.println("@@@@@@@@@@@@@@@@@@@@建立连接!");
stmt = con.createStatement(1005, 1007);
}
catch(SQLException e)
{
System.out.println(".....Exception:......."+e);
}
}

/**
* 用户登录校验
* @param username 用户名
* @param password 密码
* @return
* boolean
* TODO
*/
public boolean isLogin(String username, String password){
boolean loginFlag = false;
if(username.equals("") || username==null){
message = LoginMessage.message_username_null;
}else if(password.equals("") || password==null){
message = LoginMessage.message_password_null;
}else{
//构建查询语句
StringBuffer bufLoginCheck = new StringBuffer();
bufLoginCheck.append(" select * from jjd_xtry where 1=1 ");
bufLoginCheck.append(" and dlzh = '");
bufLoginCheck.append(username.trim());
bufLoginCheck.append("' and dlmm = '");
bufLoginCheck.append(password.trim());
bufLoginCheck.append("'");
try {
rs = stmt.executeQuery(bufLoginCheck.toString());
rs.last();
count = rs.getRow();
if(count < 0||count==0){
message = LoginMessage.message_login_error;
}else{
message = "";
loginFlag = true;
}
}catch(SQLException e){
loginFlag = false;
message = LoginMessage.message_sys_error;
System.out.println(".....Exception:......."+e);
}finally{
try{
rs.close();
stmt.close();
con.close();
con = null;
}catch(SQLException se){
loginFlag = false;
message = LoginMessage.message_sys_error;
System.out.println(".....Exception:......."+se);
}
}
}
return loginFlag;//UTIL.toChinese1(message);
}

}
hanshuihu 2010-08-12
  • 打赏
  • 举报
回复
好像没用。。。。。还是那个问题 他提示好像是24行有问题
im110 2010-08-12
  • 打赏
  • 举报
回复
java.lang.NullPointerException
com.gt.login.Login.<init>(Login.java:51)
说明你的Login类的第51行引用了一个空类型。
学习Java中 2010-08-12
  • 打赏
  • 举报
回复
Login 对象导入了吗
crazylaa 2010-08-12
  • 打赏
  • 举报
回复
root cause

java.lang.NullPointerException
com.gt.login.Login.<init>(Login.java:51)
org.apache.jsp.login_jsp._jspService(login_jsp.java:84)


空指针,参数没取到
String username = request.getParameterValues("user")[0].trim();
String password = request.getParameterValues("pass")[0].trim();

直接用
request.getParameter(...
shishi
hanshuihu 2010-08-12
  • 打赏
  • 举报
回复
jar包位置的问题放置在tomcat的lib下面问题解决
JSP是一种如日中天的新型Internet/Intranet开发语言,可以在多种操作系统平台和多种Web服务器下使用。本书从最基础的JSP开发开始,循序渐进地介绍了JSP 开发技术,并涵盖了许多高级主题,如需要在企业级Web应用中使用的特性—Enterprise JavaBeans、JDBC 2.0、数据库连接池和自定义标签库。本书既适合初学者阅读,也适合具有一定JSP基础的开发人员深入研究使用。 前 言 JSP是SUN公司推出的一种新型的Internet/Intranet开发语言,和前一代Internet/Intranet开发语言(ASP、PHP)相比,JSP在以下几个方面有了重大的突破: 1) 通过JSP的扩展标签库和JavaBeans功能,网站逻辑和网站界面可以完美地分离。 2) 使用Enterprise JavaBeans,可以轻松地在JSP开发的Web中实现事务、安全、会话等等企业级应用所需要的功能。 3) JDBC2.0提供了不同的数据库产品无关的数据库连接方式,更重要的是,数据库连接池提供了一种比普通的数据库连接方式效率高得多的连接方式。 JSP的语法基本上和Java是相同的,有Java基础的读者可以很快学会如何使用JSP,而没有Java语言基础的读者,只要循序渐进地阅读本书,一样可以成为JSP编程的高手。本书主要分为两个部分:第一部分为JSP基础部分。通过这一部分的学习,读者可以掌握JSP的基本使用方法,学会如何使虽JSP来开发一般的中、小型Web应用。这一部分使用常见的Apache Group的Tomcat作为JSP引擎的例子。第二部分为JSP高级应用部分。这一部分主要讲述如何使用JSP进行大型Web应用的开发,为了方便读者学习,本书还专门讲述了SUN公司的J2SDKEE和B趴公司的Webloglc应用服务器的基本使用方法。 JSP可以在各种操作系统和各种Web服务器下使用,其代码基本上不需要任何改动就可以使用。本书为了适应大多数读者的情况,使用了Windows操作系统作为例子,具体的试验平台如下: Windows 2000Advanced Server Apachel.3.14 Intemetln允rmation Server 5.0 Tomcat 3.1 J2SDKEE l.2 BEA Wiblogic 5.1 除了上述平台,书中的代码还在如下平台进行了测试: RedhatUnux 6.1 Apache l.3.12 TOmcat 3.1 BEA Weblogic 4.51 数据库系统主要使用了Microsoft SQL Server 7.0,部分代码使用了MySQL。作者 2000.11 前言 第一部分 JSP入门 第1章 概述 1.1 Java技术 1.1.1 Java技术的发展 1.1.2 JavaBeans 1.1.3 JDBC 1.1.4 J2EE 1.1.5 EJB 1.1.6 Java Servlet 1.2 JSP技术 1.2.1 JSP技术概述 1.2.2 JSP的优势及与其他Web开发工具的比较 1.3 JSP开发Web的几种主要方式 1.3.1 直接使用JSP 1.3.2 JSP+JavaBeans 1.3.3 JSP+JavaBeans+Servlet 1.3.4 J2EE开发模型 1.4 本书用到的软件及获取 第2章 预备知识 2.1 Java程序设计基础 2.1.1 Java语言规则 2.1.2 Java变量和函数 2.1.3 子类 2.1.4 this和super 2.1.5 类的类型 2.1.6 抽象类 2.1.7 接口 2.1.8 包 2.2 JavaBeans 2.2.1 JavaBeans的属性 2.2.2 JavaBeans的事件 2.2.3 持久化 2.2.4 用户化 2.3 Java Servlet 2.3.1 HTTP Servlet API 2.3.2 系统信息 2.3.3 传送HTML信息 2.4 SQL语言 2.4.1 SQL子类型 2.4.2 SQL语言的具体命令和使用 2.5 JDBC 2.5.1 什么是 JDBC 2.5.2 JDBC 产品 2.5.3 连接概述 2.5.5 一个简单的例子 第3章 JSP开发平台的建立:Tomcat 3.1 Tomcat的安装和直接使用 3.2 Tomcat和Apache的配合 3.3 Tomcat和IIS的配合 3.4 Tomcat的配置和常见问题 3.4.1 Tomcat的主配置文件:server.xml 3.4.2 Windows下代码保护的问题 3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 4.4 内置对象 4.5 脚本元素 4.5.1 声明 4.5.2 表达式 4.5.3 脚本代码 4.6 动作 4.6.1 id和scope属性 4.6.2 标准动作 第5章 作为XML的JSP 5.1 为什么要使用XML相容的语法形式 5.2 关于文本类型的语法 5.2.1 jsp:root元素 5.2.2 公共标识符 5.3 指令 5.3.1 page指令 5.3.2 include指令 5.3.1 taglib指令 5.4 脚本元素 5.4.1 声明 5.4.2 脚本代码 5.4.3 表达式 5.5 如何将一个普通的JSP文件转换为一个XML 文档 5.6 JSP1.1的DTD文件 第6章 JSP基础实例 6.1 第一个JSP程序—HelloWorld! 6.2 注释的使用 6.3 脚本元素 6.3.1 声明 6.3.2 表达式 6.3.3 脚本代码 6.4 page指令 6.4.1 import 6.4.2 session 6.4.3 错误处理 6.5 包含其他文件 6.6 使用JavaBean 6.7 内置对象 6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和属性 6.10.3 session对象的基本例子 6.10.4 利用session制作一个购物车 6.10.5 JavaBeans的作用域 6.10.6 利用JavaBeans制作的购物车 6.11 使用application对象 6.11.1 应用的概念 6.11.2 application对象可用的方法和属性 6.11.3 application对象内包含的系统信息 6.11.4 利用application建立一个简单的聊天室 第7章 用JSP实现常见的Web应用 7.1 常见的Web应用及分析 7.1.1 留言板、论坛和社区 7.1.2 聊天室 7.1.3 搜索引擎 7.1.4 电子商务 7.1.6 后台管理系统 7.2 留言板 7.2.1 功能分析 7.2.2 功能实现和技术要点 7.2.3 代码和分析 7.3 进一步完善的留言板 7.3.1 功能分析 7.3.2 功能实现和技术要点 7.3.3 代码和分析 7.4 聊天室 7.4.1 功能实现和技术要点 7.4.2 代码和分析 7.5 下一步 第二部分 高级JSP技术 第8章 JSP开发平台的搭建:J2EE 8.1 J2SDKEE的安装和使用 8.1.1 软硬件的支持 8.1.2 安装 8.2 J2SDKEE的配置 8.2.1 JDBC的配置 8.2.2 事务处理 8.2.3 服务的端口号 8.2.4 日志文件 8.2.5 安全 8.2.6 钝化发生的内存极限 8.2.7 JNDI服务器主机 8.2.8 HTTP服务的发布目录 8.3 WebLogic的安装和使用 8.3.1 软硬件要求 8.3.2 安装和启动 8.4 WebLogic的配置 8.4.1 系统级参数的设置 8.4.2 将WebLogic作为HTTP服务器使用 8.4.3 使用ISAPI桥连接WebLogic和IIS 8.4.4 WebLogic配置示例 第9章 扩展JSP标签 9.1 概述 9.1.1 扩展标签的作用 9.1.2 如何开发扩展标签 9.1.3 简单的扩展标签 9.1.4 包含内容处理的扩展标签 9.1.5 能够协作的扩展标签 9.1.6 定义了脚本变量的扩展标签 9.2 标签处理类的开发 9.2.1 接口和基类 9.2.2 开发 9.3 标签库文件 9.3.1 taglib 9.3.2 tag 9.4 定位一个tld文件 9.4.1 在Web.xml中定位一个tld文件 9.4.2 直接在JSP文件中定位tld文件 9.5 扩展标签实例 9.5.1 得到父标签的数据 9.5.2 TestTag类 9.5.3 Title类 9.5.4 Data类 9.5.5 TLD文件 9.5.6 在JSP中使用扩展标签 第10章 Enterprise JavaBeans 10.1 Java服务器端组件标准—EJB 10.1.1 EJB和JavaBeans 10.1.2 EJB的开发与使用中的角色 10.2 Session Bean 10.2.1 Session Bean的状态管理模式 10.2.2 Session Bean的生命周期 10.3 Entity Bean 10.3.1 Entity Bean的特性 10.3.2 Entity Bean的生命周期 10.4 EJB的开发 10.4.1 Enterprise JavaBeans的实际处理文件 10.4.2 实现EJBObject文件 10.4.3 实现EJBHome文件 10.4.4 生成ejb-jar.xml文件 10.4.5 打包生成JAR文件 10.5 EJB的部署—J2SDKEE 10.5.1 使用deploytool打包EJB 10.5.2 使用deploytol部署EJB 10.6 EJB的部署—BEA WebLogic 10.6.1 生成可部署的ejb-jar包 10.6.2 部署WbLogic的ejb-jar包 10.7 使用EJB 10.7.1 本地访问EJB 10.7.2 远程访问EJB 10.8 JSP和EJB 10.9 EJB开发实例—电子商务应用 10.9.1 EJB的实现文件—TestCartEJB 10.9.2 实现Home接口TestCartHome 10.9.3 实现远程Object接口TestCart 10.9.4 EJB的Web组件TestCartWebImp 10.9.5 JSP文件 10.9.6 实例的内部运行逻辑 第11章 其他高级功能 11.1 JDBC2.0和JDBC数据库连接池 11.1.1 JDBC2.0新功能概述 11.1.2 结果集增强功能 11.1.3 批处理更新 11.1.4 对Java对象的持久性 11.1.5 数据库连接池使用实例 11.2 文件上载 11.2.1 实现机理 11.2.2 文件上载实例 第12章 JSP高级应用实例:网上书店 12.1 概述 12.2 扩展标签的使用 12.2.1 数据集作用的BookList标签 12.2.2 让数据循环输出的Books标签 12.2.3 输出数据的标签 12.2.4 控制页面前进、后退的标签 12.2.5 测试标签 12.3 EJB及其Web组件 12.3.1 ShoppingCart 12.3.2 Books 附录A JSP应用实例:网上教育代码 附录B JavaServer Pages白皮书 附录C 常用JSP相关网址
【首语】 非常感谢你能够对季风流量统计系统感兴趣。不管你是JAVA的初学者、还是JAVA的高手,对我敢肯定的对你说,中国JAVA技术的方发展,甚至我们中国软件业的发展,就是靠我们这些对软件开发感兴趣的人。 【说明】 本系统源代码是完全公开,绝无保留,无需注册,完全免费。各位大虾们也可对源代码时行自由修改和优化,尽量能够推出更好的版本,为广大网友免费下载。本系统使用潇湘多用户统计系统(asp版)的图片,我在此感谢网上给论坛免费提供图标,源码的技术人员,谢谢你们。 【功能】 1:多用户统计系统,防止刷新,速度快,适用广泛 2:综合统计,最近访问,地区分析,地址分析,屏幕大小,来访页面,访问次数,操作系统,当前在线,IP地址,浏览器,年报表,月报表,周报表,历史报表,日报表等 3:可以精确的跟踪统计每一位来访者的IP与在线时间-同一IP在线每隔5分钟才能增加一个计数(你也可以修改时间,在stat.jsp页你把ExTime改为你想要的时间,即 int ExTime=5;)。 4:提供详细IP数据包,让你清楚的知道来访者是来是何方。 最好的是它时时性,你可以监控道现在有谁在浏览你的网站,浏览你的那个栏目 【系统配置】 先将此目录下的“feng”目录拷贝到你的虚拟目录下的:\\WEB-INF\classes\下。 本系统这里使用的ACCESS数据数据库。 数据源名称:count,用户名:admin,密码:admin (也可以改变jdbc.java 文件的代码,然后编译)。 数据库为: count.mdb 编写环境: win2000+j2sdk1.4.0_02+tomcat4.0 测试页面: test.jsp(你可以看看统计的效果) 【系统管理】 配置完成以后,打开系统首页,点击【管理】链接,输入用户名,密码,如果是系统管理员就可以修改,删除,查看所有注册的网站的信息,否则你只能修改,查看自己网站的信息。 后语】 在使用本系统过程中,如果发现错误,BUG以及对本系统有什么建议,对论坛的意见,批评,请发MAIL:feng0904@163.com。我的的QQ为:9183838。也欢迎广大网友在学习和应用:Delphi,JAVA,asp过程中遇到问题与我一起探讨,大家一起进步。 QQ:9183838 E-Mail:feng0904@163.com 网站:http://www.hxwa.net               2003年4月                                季风   湖南长沙.通程信息

81,091

社区成员

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

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