在jsp中使用java文件的问题
各位高手,
我在一个login.jsp文件中使用一个UserSession.java
我的UserSession.java在C:\tomcat\webapps\ROOT\ssyl\jutil目录
classpath里面设置了C:\tomcat\webapps\ROOT\ssyl
login.jsp在C:\tomcat\webapps\ROOT
觉得这里应该没有问题。
UserSession.java文件为:
package jutil;
public class UserSession {
public String id;
public String pw;
public UserSession(String sid, String spw){
this.id = sid;
this.pw = spw;
}
public UserSession(){
id = "";
pw = "";
}
public void setId(String sid){
id = sid;
}
public void setPw(String spw){
pw = spw;
}
}
然后在login.jsp中我使用它:
<%@ page
language = "java"
contentType = "text/html; charset=gb2312"
import = "java.util.*, java.sql.*, jutil.*"
%>
<%!
Connection conn = null;
java.sql.Statement stmt = null;
ResultSet rs = null;
%>
<%
String name = request.getParameter("name");
String password = request.getParameter("password");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:myds");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from tab_user");
while(rs.next())
{
if(name.equals(rs.getString("name")))
{
out.println("hello " + name);
UserSession us = new UserSession(name, password); // !!!!!!!!!!!
}
}
stmt.close();
conn.close();
%>
我的目的是打开数据库,然后查询登陆用户是否存在,然后
把信息放到一个UserSession对象里面,但出现错误:
Error: 500
Location: /ssyl/login.jsp
Internal Servlet Error:
java.lang.IllegalStateException: Response has already been committed
at org.apache.tomcat.core.HttpServletResponseFacade.sendError(HttpServletResponseFacade.java:157)
at org.apache.jasper.runtime.JspServlet.unknownException(JspServlet.java:299)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:377)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)
at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:534)
把标有// !!!!!!!!!!! 的语句去掉就没有问题了,所以请教高手
UserSession us = new UserSession(name, password); // !!!!!!!!!!!
错在哪里,如何修改才能达到我的目的。