jsp调用java类怎么才正确?

nihaiou 2004-12-27 10:39:22
我的java文件login.java
public class login
{
String sFrom;
String sFromTitle;
public void setFrom(String RequestFrom)
{
this.sFrom = RequestFrom;
}

public void checkFrom()
{
int from =0;
if(this.sFrom.equals("doctor") )
from = 1;
else if(this.sFrom.equals("director"))
from = 2;
else if(this.sFrom.equals("expert"))
from = 3;
else from =0;
sFromTitle = "";
switch(from)
{
case 1:
sFromTitle ="医生";
break;
case 2:
sFromTitle ="主任";
break;
case 3:
sFromTitle ="专家";
break;
default: sFromTitle ="没有正确的参数";
}
}
}

我的jsp文件:
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="login" scope="session" class="login"/>
<%
String sFrom = request.getParameter("from");
login.setFrom(sFrom);
login.checkFrom()
String fromTitle = login.sFromTitle;
%>

我的错误:
/web/AdminSite/Login.jsp:2: Can't find class `login'


聪明的你,告诉我,我又错在哪里了?
...全文
2367 点赞 收藏 24
写回复
24 条回复
nihaiou 2004年12月28日
非常感谢各位,我已经调出来了!
回复 点赞
luxx123 2004年12月28日
加个包名
<jsp:useBean id="login" scope="session" class="a.login"/>
回复 点赞
linghan2008 2004年12月28日
SQL Server 2000


//用户身份验证JavaBean
package test;
import java.sql.*;
import test.TestDBConnection;
public class CheckUser
{
String userNo,userPw;
String userPur;

public CheckUser(){

}
public void setUserNo(String UserNo){
userNo=UserNo;
}
public void setUserPw(String UserPw){
userPw=UserPw;
}
public void setUserPur(String UserPur){
userPur=UserPur;
}
public String getUserNo(){
return userNo;
}
public String getUserPw(){
return userPw;
}
public String getUserPur(){
return userPur;
}


public String checkResult(){
String no=getUserNo();
String pw=getUserPw();
String pur=getUserPur();
//Connection conn;
//Statement stmt;
String sql="select UserNo,UserPw,UserPur from userinfo where UserNo=no";

try{
Connection conn = TestDBConnection.getConnection();
Statement stmt=conn.createStatement();//第44行
ResultSet rs=stmt.executeQuery(sql);

stmt.close();//要放在reture语句之前为什么呢??
conn.close();

if(rs.next())
{
String PW=rs.getString("UserPw");
String PUR=rs.getString("UserPur");
if(PW==pw&&PUR==pur)
{
return "OK";
}
else if(PW==pw)
return "您的身份选择错误,请重新登录!";
else
return "您输入的密码错误,请重新登录!";
}
else
return "这个帐号不存在,请重新登录!";

//stmt.close();//unreachbale statement
//conn.close();

}
catch(SQLException e){
System.out.println(e.getMessage());
}
return "SQLException";

}

}

其中TestDBConnection class完成取得一个Connection,并已验证无误
回复 点赞
jiang117 2004年12月28日
回复人: lintao82(佛跳墙) ( ) 信誉:100 2004-12-28 09:08:00 得分: 0


hoggio_1980(南林浪子) ( ) 信誉:100 2004-12-28 08:56:00 得分: 0

需要进入当前目录,用javac login.java进行编译,然后将编译的class文件,放在WEB-INF\classes\目录下,如果你在WEB-INF\classes\建有另外一个目录,比如oa,那么在你的java文件中要把这个包加进去 pagekage oa,调用javabean的时候应该这样调用了
<jsp:bean id="login" scope="session" class="oa.login"/>

____________________________________________________________________--

补充;在你的java文件的开头要加上package oa


楼主:补充;在你的java文件的开头要加上package oa
这句话你没照办!
TO : linghan2008() ( ) 信誉:100 2004-12-28 21:52:00 得分: 0
你用的是什么数据库?
回复 点赞
linghan2008 2004年12月28日
我这里是不用的,在编译之前,login.java文件开头一句是 package oa; 是不是忘记写了啊??

另外借宝地一用,见谅!

TO:tom2005(快乐着)

刚才那个问题还没解决,我发现数据库连接上了啊,可是怎么还是同样的错啊?

java.lang.NullPointerException
test.CheckUser.checkResult(CheckUser.java:43)
org.apache.jsp.CheckUser_jsp._jspService(CheckUser_jsp.java:113)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

这同样是个Javabean的错误信息,高手帮看一下错在哪儿了???
回复 点赞
nihaiou 2004年12月28日
我装了,除了编译,其他还要设置么?
回复 点赞
追求自由 2004年12月28日
最好用个IDE,像jcreater之类的
回复 点赞
xinde 2004年12月28日
照hoggio_1980(南林浪子) ,lintao82(佛跳墙)说的做就行了
回复 点赞
GamVan 2004年12月28日
现装个netBeans IDE 吧
回复 点赞
nihaiou 2004年12月28日
不好意思,考错了

错误信息是:/web/AdminSite/Login.jsp:2: Can't find class `oa.login'

^_^
回复 点赞
wjr1982et 2004年12月28日
^_^加包!
回复 点赞
lintao82 2004年12月28日
hoggio_1980(南林浪子) ( ) 信誉:100 2004-12-28 08:56:00 得分: 0

需要进入当前目录,用javac login.java进行编译,然后将编译的class文件,放在WEB-INF\classes\目录下,如果你在WEB-INF\classes\建有另外一个目录,比如oa,那么在你的java文件中要把这个包加进去 pagekage oa,调用javabean的时候应该这样调用了
<jsp:bean id="login" scope="session" class="oa.login"/>

____________________________________________________________________--

补充;在你的java文件的开头要加上package oa
回复 点赞
nihaiou 2004年12月28日
我是不是不对:我按各位的指教,把生成的class文件拷贝到root\web-inf\classes\oa文件夹中,在java中写了oa.login;结果仍然出现
/web/AdminSite/Login.jsp:2: Can't find class `login'
只好把它直接拷贝到root\web-inf\classes\下,成了,却错了下面的:

/web/AdminSite/Login.jsp:2: cannot resolve symbol
symbol : class login
location: class _jsp._web._adminsite._login__jsp
login login;
^
/web/AdminSite/Login.jsp:4: cannot resolve symbol
symbol : class login
location: class _jsp._web._adminsite._login__jsp
login = (login) session.getAttribute("login");
^
/web/AdminSite/Login.jsp:6: cannot resolve symbol
symbol : class login
location: class _jsp._web._adminsite._login__jsp
login = new login();

聪明的你告诉我,我错在哪里了?

回复 点赞
hoggio_1980 2004年12月28日
需要进入当前目录,用javac login.java进行编译,然后将编译的class文件,放在WEB-INF\classes\目录下,如果你在WEB-INF\classes\建有另外一个目录,比如oa,那么在你的java文件中要把这个包加进去 pagekage oa,调用javabean的时候应该这样调用了
<jsp:bean id="login" scope="session" class="oa.login"/>
回复 点赞
wangqm0629 2004年12月28日
class文件应指明包名
回复 点赞
iamsoloist 2004年12月28日
同意 zcjl()
回复 点赞
tom2005 2004年12月28日
up
回复 点赞
wzj1215 2004年12月27日
<jsp:useBean id="login" scope="session" class="login"/>--《class="login"需要加包的名.login
回复 点赞
zcjl 2004年12月27日
java类需要带package定义
这样才能被import或是useBean
回复 点赞
nihaiou 2004年12月27日
我有什么配置不对吗?难道需要设置环境变量的classpath?指向我的class文件夹。
如果这样,我需要把我的所有java文件集中管理吗?还有class文件集中管理吗?

聪明的你,告诉我,我想法对吗?
回复 点赞
发动态
发帖子
Web 开发
创建于2007-09-28

5.2w+

社区成员

34.1w+

社区内容

Java Web 开发
社区公告
暂无公告