各位老师,小弟刚开始学JSP,在做一个用户验证的过程中,出现了一点问题,自己也找了问题,也没理清楚,所以到此请教,忘各位不吝赐教!开发环境:
IDE:eclipse
TOMCAT:7.0
DB:SQL2000问题描述:
在login登录后,进行loginCL.jsp的时候,进行报错,报错提示如下:type Exception reportmessage Unable to compile class for JSP: description The server encountered an internal error that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 16 in the jsp file: /WebContent/loginCL.jsp
UserBeanCL cannot be resolved to a type
13: String p = request.getParameter("password");
14:
15: //验证用户名和密码,调用UserBeanCL的checkUser方法
16: UserBeanCL ubcl = new UserBeanCL();
17:
18: if(ubcl.checkUser(u, p)){
19: //设置Session
An error occurred at line: 16 in the jsp file: /WebContent/loginCL.jsp
UserBeanCL cannot be resolved to a type
13: String p = request.getParameter("password");
14:
15: //验证用户名和密码,调用UserBeanCL的checkUser方法
16: UserBeanCL ubcl = new UserBeanCL();
17:
18: if(ubcl.checkUser(u, p)){
19: //设置SessionPS:我自己也分析了以下,应该不会是UserBeanCL.java出现的问题,是不是那些地方没有设置好?
导致jsp找不到这个类?
以下为涉及到的源码===login.jsp===<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用户管理系统</title>
</head>
<body bgcolor="#CED3FF">
<center>
用户登录<br>
<hr>
<form action="loginCL.jsp" method="post">
用户名:<input type="text" name="username" ><br>
密 码:<input type="password" name="password" ><br>
<input type="submit" value="登录" >
<input type="reset" value="重置" >
</form>
</center>
</body>
</html>===loginCL.jsp===<%@ page language="java" import="java.util.*,java.sql.*,com.eric.model.*" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用户管理系统</title>
</head>
<body bgcolor="#CED3FF">
<%
//接收用户名和密码,完成对用户的验证
String u = request.getParameter("username");
String p = request.getParameter("password");
//验证用户名和密码,调用UserBeanCL的checkUser方法
UserBeanCL ubcl = new UserBeanCL();
if(ubcl.checkUser(u, p)){
//设置Session
HttpSession hs = request.getSession();
hs.setMaxInactiveInterval(60*3);
hs.setAttribute("username", u);
hs.setAttribute("password", p);
response.sendRedirect("welcome.jsp");
}else{
response.sendRedirect("login.jsp");
} %>
</body>
</html>===ConnDB.java===//得到数据库的连接package com.eric.model;import java.sql.Connection;
import java.sql.DriverManager;public class ConnDB {
private Connection ct = null;
public Connection getConn(){
try {
//1、加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//2、得到连接
ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=ericdb","sa","");
} catch (Exception e) {
e.printStackTrace();
}
return ct;
}
}===UserBeanCL.java===//这是一个处理类
//主要是封装对users表的各种业务逻辑操作
package com.eric.model;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;public class UserBeanCL {
private Connection ct = null;
private Statement sm = null;
private ResultSet rs = null;
//验证用户是否合法
public boolean checkUser(String u,String p){
boolean flag = false;
try {
ct = new ConnDB().getConn();
//创建Statement
sm = ct.createStatement();
//查询
String usql = "select passwd from users where username='"+u+"'";
rs = sm.executeQuery(usql);
//根据结果进行判断
if(rs.next()){
//说明用户存在
if(rs.getString(1).equals(p)){
//合法用户
flag = true;
}
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//关闭打开的资源
this.closeDB();
}
return flag;
}
//关闭资源
public void closeDB(){
try {
if(rs!=null){
rs.close();
rs=null;
}
if(sm!=null){
sm.close();
sm=null;
}
if(ct!=null){
ct.close();
ct=null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
JSP
IDE:eclipse
TOMCAT:7.0
DB:SQL2000问题描述:
在login登录后,进行loginCL.jsp的时候,进行报错,报错提示如下:type Exception reportmessage Unable to compile class for JSP: description The server encountered an internal error that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 16 in the jsp file: /WebContent/loginCL.jsp
UserBeanCL cannot be resolved to a type
13: String p = request.getParameter("password");
14:
15: //验证用户名和密码,调用UserBeanCL的checkUser方法
16: UserBeanCL ubcl = new UserBeanCL();
17:
18: if(ubcl.checkUser(u, p)){
19: //设置Session
An error occurred at line: 16 in the jsp file: /WebContent/loginCL.jsp
UserBeanCL cannot be resolved to a type
13: String p = request.getParameter("password");
14:
15: //验证用户名和密码,调用UserBeanCL的checkUser方法
16: UserBeanCL ubcl = new UserBeanCL();
17:
18: if(ubcl.checkUser(u, p)){
19: //设置SessionPS:我自己也分析了以下,应该不会是UserBeanCL.java出现的问题,是不是那些地方没有设置好?
导致jsp找不到这个类?
以下为涉及到的源码===login.jsp===<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用户管理系统</title>
</head>
<body bgcolor="#CED3FF">
<center>
用户登录<br>
<hr>
<form action="loginCL.jsp" method="post">
用户名:<input type="text" name="username" ><br>
密 码:<input type="password" name="password" ><br>
<input type="submit" value="登录" >
<input type="reset" value="重置" >
</form>
</center>
</body>
</html>===loginCL.jsp===<%@ page language="java" import="java.util.*,java.sql.*,com.eric.model.*" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用户管理系统</title>
</head>
<body bgcolor="#CED3FF">
<%
//接收用户名和密码,完成对用户的验证
String u = request.getParameter("username");
String p = request.getParameter("password");
//验证用户名和密码,调用UserBeanCL的checkUser方法
UserBeanCL ubcl = new UserBeanCL();
if(ubcl.checkUser(u, p)){
//设置Session
HttpSession hs = request.getSession();
hs.setMaxInactiveInterval(60*3);
hs.setAttribute("username", u);
hs.setAttribute("password", p);
response.sendRedirect("welcome.jsp");
}else{
response.sendRedirect("login.jsp");
} %>
</body>
</html>===ConnDB.java===//得到数据库的连接package com.eric.model;import java.sql.Connection;
import java.sql.DriverManager;public class ConnDB {
private Connection ct = null;
public Connection getConn(){
try {
//1、加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//2、得到连接
ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=ericdb","sa","");
} catch (Exception e) {
e.printStackTrace();
}
return ct;
}
}===UserBeanCL.java===//这是一个处理类
//主要是封装对users表的各种业务逻辑操作
package com.eric.model;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;public class UserBeanCL {
private Connection ct = null;
private Statement sm = null;
private ResultSet rs = null;
//验证用户是否合法
public boolean checkUser(String u,String p){
boolean flag = false;
try {
ct = new ConnDB().getConn();
//创建Statement
sm = ct.createStatement();
//查询
String usql = "select passwd from users where username='"+u+"'";
rs = sm.executeQuery(usql);
//根据结果进行判断
if(rs.next()){
//说明用户存在
if(rs.getString(1).equals(p)){
//合法用户
flag = true;
}
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//关闭打开的资源
this.closeDB();
}
return flag;
}
//关闭资源
public void closeDB(){
try {
if(rs!=null){
rs.close();
rs=null;
}
if(sm!=null){
sm.close();
sm=null;
}
if(ct!=null){
ct.close();
ct=null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
JSP
解决方案 »
- org.springframework.beans.factory.BeanCreationException:
- 怎么在一个filter里获得HttpServletRequest对象
- 怎么让模态窗口的子窗口提交后不再弹出新窗口,而是直接重定向到指定页
- 我这里有个 jsp注册页面代码 谁能帮我看看 我这个那里有问题
- jbuilder9连接不上数据库,很郁闷啊!!!
- 问一个简单语句,
- jsp程序include一个htm或者jsp文件,为什么那个文件的部分会乱码显示呢,请教!
- 哪有最新jdom下载?
- 当有消息到时,客户端怎样才能自动弹出消息窗口?
- 在servlet中如何写能使程序流程导向一个jsp文件?
- 刚找到个实习JAVA程序员 感觉自己什么都不会了。。
- 重复代码
loginCL.jsp中增加了
<%@ page language="java" import="java.util.*,java.sql.*,com.eric.model.*" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>这样应该算是导入了吧
UserBeanCL是你自己写的?如果是的话不能这样写吧,应该<jsp:useBean id=" ubcl" scope="page" class="UserBeanCL">,在jsp文件的前面,
这个文件加在什么地方,加上以后,显示红线,有错误<jsp:useBean id=" ubcl" scope="page" class="UserBeanCL"><%@ page language="java" import="java.util.*,java.sql.*,com.eric.model.*" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
...