首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

麻烦大家帮小弟我看看这个jsp页面错在哪里了

2013-09-11 
麻烦大家帮我看看这个jsp页面错在哪里了?这是一个登录页面源代码:%@ page contentTypetext/htmlcharse

麻烦大家帮我看看这个jsp页面错在哪里了?
这是一个登录页面
源代码:
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.lang.*,java.io.*,java.sql.*,java.util.*" errorPage=""%>
<jsp:useBean id="ISO2GB" scope="page" class="community.ISO2GB"/>
<html>
<head>
<title>登录页面--结果</title>
</head>
<body>

<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseNam=stu";
String user="sa";
String password="369";

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

String name=ISO2GB.convert(request.getParameter("name"));
String pw=request.getParameter("pw");
String sql="select * from comm";
ResultSet rs=stmt.executeQuery(sql);

while(rs.next())
{
String SQLName =rs.getString("userName");
String SQLPassw =rs.getString("userPassword");

if(name.equals(SQLName) && pw.equals(SQLPassw))
{
%>
<jsp:forward page="LoginEND.jsp">
<jsp:param name="urXy" value="<%=name%>"/>
</jsp:forward>
<%
}
else
{
%>
<jsp:forward page="LoginERROR.jsp">
<jsp:param name="userXy" value="<%=name%>"/>
</jsp:forward>

<%
}
}

  rs.close();
  stmt.close();
  conn.close();
%>

</body>
</html>



Tomcat 报错:(红色)

HTTP Status 500 - type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid column name: userPassword
 org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
 org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
 org.apache.jsp.LoginOK_jsp._jspService(org.apache.jsp.LoginOK_jsp:119)
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid column name: userPassword
 com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
 com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
 com.microsoft.jdbc.base.BaseResultSet.getColumnOrdinal(Unknown Source)
 com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
 org.apache.jsp.LoginOK_jsp._jspService(org.apache.jsp.LoginOK_jsp:79)
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.Apache Tomcat/5.5.9



(保证数据库字段没错)
请问怎么改??

[解决办法]
你试一下把数据库取出来的数进行空格去除
如上
String SQLName =rs.getString("userName"); 
String SQLPassw =rs.getString("userPassword"); 
改成
String SQLName =rs.getString("userName").trim(); 
String SQLPassw =rs.getString("userPassword").trim(); 
再运行试一下

[解决办法]
检查String SQLName =rs.getString("userName"); 
里的userName是不是和数据表里的userName相对应,或者你的数据表里是username
[解决办法]
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseNam=stu"; 
应该是DataBaseName
[解决办法]
改用utf-8吧

[解决办法]
改数据库的编码,改成GBK或UTF-8
[解决办法]
数据库编码改成UTF-8
[解决办法]
用utf-8比较好
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html

热点排行