新手请教帮忙解决一个简单用户登录页面的出错

非萨范德萨发 2005-05-03 12:54:53
jsp环境配置测试通过。
以下是我的用户登录页面index.jsp和检验用户页面login.jsp
------index.jsp--------
<%@page contentType="text/html;charset=gb2312" %>
<html>
<head>
<title>计算机管理系统</title>
<body>
<br><br><br><br><br>
<form name="form1" action="login.jsp" method="post">
<table bgcolor="#dbdbdb" align="center" width="500">
<tr bgcolor="#dbdbdb"><div align="center"><h1><br><strong>欢迎进入计算机管理系统</strong></h1></div></tr>
<tr bgcolor="#dbdbdb"><div align="center"><br>用户名:<input type="text" name="name" size="20"></div>
</tr>
<tr bgcolor="#dbdbdb"><div align="center"><br>密 码:<input type="password" name="passwd" size="20" width="100"></div></tr>
<tr bgcolor="#dbdbdb"><div align="center">
<br><input width="100" type="submit" name="Submit" value="登录">
</div></tr>
</table>
</form>
</body>
</head>
</html>

------login.jsp--------
<%@ page import="java.sql.*"%>

<html>
<head>
<title>用户管理</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body>
<%
String name=request.getParameter("name");
String passwd=request.getParameter("passwd");

String DBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String SQLURL ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Documents";
String SQLUSER = "sa";
String SQLPWD = "";
Connection conn=null;
ResultSet rs=null;

try{
Class.forName(DBDriver);}
catch(java.lang.ClassNotFoundException e){
System.out.println("java.lang.ClassNotFoundException"+e.getMessage());}

try{
conn = DriverManager.getConnection(SQLURL, SQLUSER, SQLPWD);
Statement stmt = conn.createStatement();
String sqlquery="select * from user where user_id='"+name+"' and user_password='"+passwd+"'";
rs=stmt.executeQuery(sqlquery);
}
catch(SQLException ex){
System.out.println("SQLException"+ex.getMessage());}


if(rs.next())
{
%>
<p>登录成功</p>
<%
}
else
{
%>
<p>用户不存在</p>
<%
}

rs.close();
conn.close();
%>
</body>
</html>
...全文
226 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
报告出错:
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
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:207)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:536)


root cause

java.lang.NullPointerException
at org.apache.jsp.login_jsp._jspService(login_jsp.java:76)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:536)



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

Apache Tomcat/4.1.31
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
翻了一天资料,发现我没有把SQLServer的驱动程序导入项目中,现在我把JDBC安装目录的子目录下的3个.jar文件拷到项目WEB-INF/lib目录下,结果终于可以通过了。
感谢以上几位朋友帮我。
happysky2004 2005-05-03
  • 打赏
  • 举报
回复
将login.jsp页面改写成如下就可以了,我已调试过
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%>

<html>
<head>
<title>用户管理</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body>
<%
String name=request.getParameter("name");
String passwd=request.getParameter("passwd");

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Documents";

String user="sa";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();

String sql="select * from usertab where user_id='"+name+"' and user_password='"+passwd+"'";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next())
{
%>
<p>登录成功</p>
<%
}
else
{
%>
<p>用户不存在</p>
<%
}

rs.close();
conn.close();
%>
</body>
</html>
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
好象不是tomcat服务器的原因
我刚才试了一下
可能是rs.next()这个语句有问题,导致java.lang.NullPointerException
前面我声明ResultSet rs=null;,后然我在if判断里用了rs.next()那就成了null.next();
请问,try-catch里对rs的重新赋值rs=stmt.executeQuery(sqlquery);是不是被屏蔽掉了?
好象我在最后加一个conn.close();语句提示conn无法识别,所以我没写这个语句。
请指教!!
等待中。。。。。。
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
是不是我的tomcat服务器需要配置什么呢?
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
我在安装mssql是选择的是windows验证模式
后然没行,按照网上说的改成了混合模式,修改了regedit里的相应值,在查询分析器里能用sa启动的
liuweihug 2005-05-03
  • 打赏
  • 举报
回复
也许是服务器的问题
好像是这样的问题我也有过
重新装吧
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
加了<%@ page import="java.sql.*" errorPage=""%>
可是还是同样的错误
changyuming 2005-05-03
  • 打赏
  • 举报
回复
是不是需要加上errorPage=““
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
新手,请教一下怎么指定错误页面,在哪个语句里添加呢?
changyuming 2005-05-03
  • 打赏
  • 举报
回复
是否可以指定一个错误页面,然后运行一下,看是不是服务器的问题
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
我用一个hellosql.java例子,能连接数据库的,能创建表和数据写入读出
import java.sql.*;

public class HelloHSQL {

private static final String SQLCLASS = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String SQLURL ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testhello";
private static final String SQLUSER = "sa";
private static final String SQLPWD = "";

public static void main(String[] args) {

try {
// Create a connection
Class.forName (SQLCLASS);
Connection c = DriverManager.getConnection(SQLURL, SQLUSER, SQLPWD);
Statement s = c.createStatement();

// Delete and recreate the table
try {
s.execute("DROP TABLE ITEMS");
} catch (Exception e) {}
s.execute("CREATE TABLE ITEMS (ItemNumber VARCHAR(50), Description VARCHAR(50))");

// Insert data
s.execute("INSERT INTO ITEMS VALUES ('DOG', 'Cuddly Duddly')");
s.execute("INSERT INTO ITEMS VALUES ('CAT', 'Felix the Cat')");
s.execute("INSERT INTO ITEMS VALUES ('OCTOPUS', 'Squidworth')");

// Check the results
ResultSet rs = s.executeQuery("SELECT * FROM ITEMS");
while (rs.next())
{
System.out.println(
"Item: " + rs.getString("ItemNumber") +
", Description: " + rs.getString("Description"));
}

// Shut down
s.close();
c.close();

} catch (Exception e) {
System.out.println("Error: " + e);
}

// When done, clean up resource and exit
System.exit(0);
}
}

changyuming 2005-05-03
  • 打赏
  • 举报
回复
会不会是tomcat的问题呢,我有过一次,测试tomcat能正常用,但是一运行功能稍微多一些的程序时就不行。
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
不是,我是在eclipse下运行的,+tomcat4.1+lomboz3.0
changyuming 2005-05-03
  • 打赏
  • 举报
回复
jbuilder下运行的吗?我不是很懂
非萨范德萨发 2005-05-03
  • 打赏
  • 举报
回复
没有啊,,我2个try,2个catch啊,
只是第一个try和catch挤在一起了
changyuming 2005-05-03
  • 打赏
  • 举报
回复
关注。!
寒舍人 2005-05-03
  • 打赏
  • 举报
回复
你两个try,但是只有一个catch
课程基础概述本门课程,大喵将会打着大家从零打造一款属于大家自己的 CLI命令行脚手架工具,本课程主要面向新手同学,对命令行工具开发,前端工具开发感兴趣的同学,可以通过本门课程学习到如何使用Node.JS开发一款适配自身项目特色的脚手架命令行工具。并且也会带着大家推送自己开发完成的CLI工具到NPM线上仓库,供所有人下载安装使用。整个课程,大喵会详细讲解所需要依赖的第三方模块包的具体使用,让同学们可以举一反三开发具备自身特色的CLI工具,最终大喵会运用到前面所讲解的基础内容,独立自主开发一个具备 damiao [ add | delete | list | init ] 四种子命令的CLI脚手架工具。CLI命令行工具命令行工具(Cmmand Line Interface)简称cli,顾名思义就是在命令行终端中使用的工具。我们常用的 git 、npm、vim 等都是 cli 工具,比如我们可以通过 git clone 等命令简单把远程代码复制到本地。在目前前端工程大流行的环境下,vue-cli、create-reate-app、angular-cli 等等方便快捷的命令行脚手架工具诞生,极大的提升了我们的开发效率与质量,我们可以通过这些脚手架工具在本地快速构建我们的开发项目。 课程目录结构1、CLI课程介绍   2、CLI课程纲领和讲师介绍3、CLI课程内容概述    4、CLI命令行工具及场景应用5、CLI课程准备工具和技术   6、CLI课程收获和收益  7、CLI课程实战案例介绍   8、npm CLI 命令行工具发展现状9、创建第一个命令行自定义命令   10、process.argv 接收命令行参数11、commander 工具使用介绍一   12、commander 工具使用介绍二13、inquirer 工具使用介绍   14、ora 加载工具使用介绍15、chalk 颜色工具使用介绍   16、download-git-repo 仓库工具介绍17、创建脚手架命令   18、创建命令可执行文件19、damiao add 命令行指令开发   20、damiao add 模板录入校验21、damiao delete 命令行指令开发   22、damiao list 命令行指令开发23、damiao init 初始化项目指令开发   24、damiao init 指令参数输入校验25、damiao 命令行指令测试.mp4  26、创建npm个人账号及发布npm仓库27、全局安装脚手架工具

81,090

社区成员

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

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