aspose file tools*
The moose likes Servlets and the fly likes Why tomcat can't recognise the package? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "Why tomcat can Watch "Why tomcat can New topic
Author

Why tomcat can't recognise the package?

Janet Yap
Greenhorn

Joined: Mar 13, 2004
Posts: 24
Hi everyone,
I have create a java bean in a folder called mybeans located at:
C:\Tomcat\classes\mybeans
I can call this bean via jsp without any problem. These are the codes in the jsp file:
*****************************************************
<%@ page language="java" contentType="text/html" %>
<html><head><title>Using Simple Bean</title></head><body>
<%-- create an instance of the SimpleBean --%>
<jsp:useBean id="msg" class="mybeans.SimpleBean" />
<jsp:setProperty name="msg" property="message1" value="Saying Hello" />
<jsp:setProperty name="msg" property="message2" value="with a JavaBean" />
<b><font color="red"><jsp:getProperty name="msg" property="message1" /></font></b>
<i><font color="red"><jsp:getProperty name="msg" property="message2" /></font></i>
</body></html>
**************************************************************************

However, when i try to use this bean in a servlet, i have problem to compile the servlet. The following is the error i get when i compile it:
**********************************************
Message.java:4: package mybeans does not exist
import mybeans.SimpleBean;
^
Message.java:13: cannot resolve symbol
symbol : class SimpleBean
location: class Message
SimpleBean t= new SimpleBean();
^
Message.java:13: cannot resolve symbol
symbol : class SimpleBean
location: class Message
SimpleBean t= new SimpleBean();
^
Message.java:25: cannot resolve symbol
symbol : variable t
location: class Message
String a=t.getMessage1();
^
Message.java:26: cannot resolve symbol
symbol : variable t
location: class Message
String b=t.getMessage2();
^
5 errors
**************************************************
The codes in the java bean are as follows:
package mybeans;
public class SimpleBean
{
private String message1;
private String message2;

public void setMessage1(String input)
{
message1=input;
}
public String getMessage1()
{
return message1;
}
public void setMessage2(String input)
{
message2=input;
}
public String getMessage2()
{
return message2;
}
}
************************************************************
whereas, the java servlet has the following codes:
***********************************************************
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import mybeans.SimpleBean;
public class Message extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException
{
SimpleBean t= new SimpleBean();
t.setMessage1("Hello,");
t.setMessage1("SP");

}
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException
{
PrintWriter out = res.getWriter();
String a=t.getMessage1();
String b=t.getMessage2();
out.println("<html>");
out.println("<body>");
out.print("+a+");
out.println("+b+");
out.println("</body>");
out.println("</html>");
}
}
**********************************************************
May I know how this problem can be solved?
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12806
    
    5
The problem may be solved by following the correct convention for where class files go.
have create a java bean in a folder called mybeans located at:
C:\Tomcat\classes\mybeans

Is NOT it. How in the world did you come up with that?
Your Tomcat installation comes with extensive documentation. Try the ClassLoader How-To link in the tomcat-docs for complete information on where classes should go - or simply look at the way the examples are organized.
Bill
Janet Yap
Greenhorn

Joined: Mar 13, 2004
Posts: 24
thanks for yor reply
the problem is solved after i have placed the package under C:\Tomcat\webapps\WEB-INF\class directory
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
The issue isn't where you put the class. The issue is having accessibility to the class. If I am was compiling from the command line then it wouldn't matter how well I had set up my Tomcat libraries if my classpath didn't point to the class. My guess is that you are using an IDE and once you placed the class in the correct directory the IDE found the class and was able to compile.


Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Why tomcat can't recognise the package?