How to instantiate a .class from a JSP?

Hi,
probably it's a simple problem, byt I'm new in JSP and I couldn't work it out.
I'm converting a SSJS Netscape Application to JSP. My needing is to write a Java .class containing only static methods, to call them from the JSP pages.
For trying, I wrote a simple class that I call from a JSP page, but I get this error:
Error: 500
Location: /JSP24H/cap01/Simple2.jsp
Internal Servlet Error:
org.apache.jasper.JasperException: Unable to compile class for
JSPC:\tomcat\work\localhost_8080%2FJSP24H\_0002fcap_00030_00031_0002fSimple_00032_0002ejspSimple2_jsp_0.java:80:
Incompatible type for =. Can't convert void to java.lang.String.
v = GenFunction.messaggio();
^
This is the JSP instantiating the Java class:
<HTML>
<HEAD><TITLE>A Simple JSP</TITLE></HEAD>
<BODY>
<FONT COLOR="blue" FACE="Trebuchet">
<CENTER>
<%@ page import = "GenFunction" %>
<% out.println("My name is Charly !" + "<br>"); %>
<%
String v = " ";
v = GenFunction.messaggio();
out.println( v );
%>
</CENTER>
</FONT>
</BODY>
</HTML>
And this is the class instantiated from JSP:
public class GenFunction {
public static void main (String args[]) {
public static String messaggio() {
String a;
a = " Hello world !";
return a;
In order to be sure about what I'm doing, I opened a DOS window and I called the class within the following:
public class call_Class {
public static void main (String args[])
String v;
GenFunction x = new GenFunction();
v = x.messaggio();
System.out.println(v);
When I instantiate the class from DOS it's all right, why not from JSP. It seems to be returning a void value (I tried with casting too but without success).
Thanks !

Do you have multiple versions of classes in the server CLASSPATH somehwhere? If you have changed the class, and not bounced the server, try bouncing the server(may be using cached class)
-Mak

Similar Messages

  • How to instantiate a class from a different package?

    I am trying to instatiate a class in a package: a.b.c from another class in a different package: d.e.f
    How could I do so?
    I've already been trying many things but didn't manage to get it to work...

    Did you include both jar files in your classpath? Use
    the -cp option of the java interpreter to specify your
    classpath.Well, I tried adding the jar file to the classpath, without any success...
    String path = getClass().getProtectionDomain().getCodeSource().getLocation().toString();
                   String finpath = "";
                   for(int i=6;i<path.length();i++)
                        finpath = finpath+path.charAt(i);
                   System.setProperty("java.class.path",System.getProperty("java.class.path")+";"+finpath+"mm.mysql-2.0.14-bin.jar/");That's what I did and it didn't work...
    If you "unpack" the jars see if there is the correct
    packages-folders symmetry...Yes, the classes are in the package-folders they should be in..

  • How to load java class from jsp page?

    hi all!
    Does anyone know how to load java class from jsp page?
    I try to load java class from jsp page.
    Is it possible to load java class fom jsp page?
    thanks and have a good day!

    What I mean is How to load/open java class file from jsp page?
    I think we can open Applet from jsp page by using
    <applet code=helloApplet.class width=100 height=100>
    </applet>
    but, how to open java class which is an application made by Frame?
    thanks and have a good day

  • .How to instantiate the innerclass from another class with coded eg.

    How to instantiate the innerclass from another class(both for static & non static) please give me an eg with coding.

    It's just a preference, but I like writing factory methods:
    public class Outer {
        public class Inner {}
        public static class StaticInner {}
        public Inner innerInstance() {
            return new Inner();
        public static StaticInner staticInnerInstance() {
            return new StaticInner();
        public static void main(String[] args) {
            Outer.StaticInner si = Outer.staticInnerInstance();
            Outer outer = new Outer();
            Outer.Inner i = outer.innerInstance();
    }Often, for me, the inner class implements an interface, and the factory method
    lets you hide the implementation class:
    public class Outer {
        private class Inner implements Runnable {
            public void run() {}
        public Runnable runnerInstance() {
            return new Inner();
        public static void main(String[] args) {
            Outer outer = new Outer();
            Runnable r = outer.runnerInstance();
    }

  • How to call Java class from Forms 6i?

    Hi friends,
    I need to call a Java class from my Forms 6i application.
    (It runs under WIndows XP. It's a client/server application and I have only the client and the Form builder installed on my PC)
    I don't know almost anything about Java's world so your help would be very useful for me.
    Could you tell me exactly what i have to do?
    I've read in metalink several Notes, but they supposed that the Java architecture is already installed in the computer.... I only have the default installation of Developer 6i... so I would need to know:
    - How to install/configure the neccesary to execute Java classes without problem
    - How to invoke the .class from Forms 6i.
    Thanks a lot
    Jose.

    And also this one:
    Problem Description
    Installed Forms 6i Rel 2 on a MS Windows machine. When trying to Import the Java
    Classes getting the errors
    PDE-UJI0001 Failed to create the JVM
    Solution Description
    You need to to install JDK 1.2.2 to run the Java Importer. And set the PATH's
    and classpath's correctly.
    Explanation
    1. Download and install the JDK 1.2.2.
    Possibly available at: http://java.sun.com/products/archive/
    2. Assuming the JDK 1.2.2 is installed in c:\jdk1.2.2 directory and the JRE in
    C:\PROGRA~1\JAVASOFT\JRE\1.2 directory; ORACLE_HOME=C:\Dev6iR2.
    Set the PATH to
    set PATH=c:\jdk1.2.2\bin;C:\PROGRA~1\JAVASOFT\JRE\1.2\bin;C:\PROGRA~1\JAVASOFT\JRE\1.2\bin\classic;%PATH%
    ( If you are using ias9i then the JDK 1.2.2 comes with the ias installtion ,
    in this case please set the PATH to
    D:\ias9i\Apache\jdk\bin;D:\ias9i\Apache\jdk\jre\bin;D:\ias9i\Apache\jdk\jre\bin\classic;%PATH% )
    3. Set the CLASSPATH to set CLASSPATH=%CLASSPATH%;C:\Dev6iR2\TOOLS\COMMON60\JAVA\IMPORTER.JAR;.
    (If you do not set the CLASSPATH correctly you will get the error
    PDE-UJI002 Unable to find the required java importer classes)
    4. Now run the Forms Builder by using the command.
    C:\Dev6iR2\bin\ifbld60.exe
    Now the Java Importer Should Run fine.
    Francois

  • How to reference a DatabaseHandler servlet class from a jsp file in Tomcat

    Trying to create a database connection in the jsp file in webapps\project folder by referencing the DatabaseHandler class in webapps\project\WEB-INF\classes.
    Here is the code in the jsp to make the connection:
    DatabaseHandler db = new DatabaseHandler() ;
    String sql = "SELECT password FROM cms_users WHERE user =" + userName ;
    java.sql.ResultSet rs = db . selectQuery( sql ) ;
    Here is the DatabaseHandler class:
    import java.sql.*;
    public class DatabaseHandler
         // instance variables - replace the example below with your own
    private Connection connection;
         * Constructor for objects of class DatabaseHandler
         public DatabaseHandler()
    String url = "jdbc:odbc:javadatabase";
    // Load the driver to allow connection to the database
    try
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
    connection = DriverManager.getConnection( url );
    catch ( ClassNotFoundException cnfex )
    System.err.println( "Failed to load JDBC/ODBC driver." );
    cnfex.printStackTrace();
    System.exit( 1 ); // terminate program
    catch ( SQLException sqlex )
    System.err.println( "Unable to connect" );
    sqlex.printStackTrace();
    public ResultSet selectQuery( String query )
    Statement statement;
    ResultSet resultSet = null ;
    try
    statement = connection.createStatement();
    resultSet = statement.executeQuery( query );
    catch ( SQLException sqlex )
    sqlex.printStackTrace();
    System . exit( 1 ) ;
    return resultSet ;
    Here is the error i am getting when i try to run the jsp script:
    HTTP Status 500 -
    type Exception report
    message
    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: 2 in the jsp file: /ValidateLogon.jsp
    Generated servlet error:
    [javac] Compiling 1 source file
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\cms\ValidateLogon_jsp.java:47: cannot find symbol
    symbol : class DatabaseHandler
    location: class org.apache.jsp.ValidateLogon_jsp
    DatabaseHandler db = new DatabaseHandler() ;
    ^

    Just like in the class file you need to import any classes that you want to access in the JSP.
    http://java.sun.com/products/jsp/tags/11/syntaxref11.fm7.html

  • How to retrieve the data from a jsp page for print?

    i have a dynamic jsp file which will get the data at runtime.I have a print button in the jsp.When i chick the print button it should capture the data from the jsp and print it as LANDSCAPE mode. Now i am using Java Api for this
              Following code is a working sample which prints some data in LANDSCAPE mode..This is working fine....How can i modify this to get the data from a jsp?....I am using weblogic workshop for development
              package Awtjava;
              //working example
              import java.awt.*;
              import java.awt.print.*;
              public class testPrint implements Printable {
              private static String s[];
              private static Font f;
              private static int nLines;
              public static void main (String arg[]){
              s = new String[10];
              f = new Font("Arial", Font.PLAIN, 11);
              int i;
              s[0] = "This is a printer test";
              for (i=1; i<10; i++){
              s[i] = "The next line";
              nLines = 10;
              testPrint.printa();
              public static void printa(){
              System.out.println("public static void printa () ");
              PrinterJob pj=PrinterJob.getPrinterJob();
              Book b = new Book();;
              PageFormat pf = new PageFormat();
              pf = pj.defaultPage(pf);
              b.append(new testPrint(), pf, 2);
              pj.setPageable (b);
              try{
              if (pj.printDialog()){
              pj.print();
              catch (Exception e) { System.out.println ("Error"); }
              public int print (Graphics g1, PageFormat pf, int n){
              System.out.println("public int print");
              int x,y,i,fa,fh;
              FontMetrics fm;
              Graphics2D g = (Graphics2D) g1;
              pf.setOrientation(PageFormat.LANDSCAPE);
              fm = g.getFontMetrics (f);
              fa = fm.getMaxAscent();
              fh = fm.getHeight();
              x = (int)pf.getImageableX();
              y = (int)pf.getImageableY() + fa;
              g.setFont (f);
              g.setColor(Color.black);
              if (n==1){
              for (i=0; i<10; i++){
              g.drawString (s, x, y);
              y += fh;
              return PAGE_EXISTS;
              else {
              for (i=10;i<10; i++){
              g.drawString (s[i], x, y);
              y += fh;
              return PAGE_EXISTS;
              Hope you will reply soon...
              Thanks in advance
              Maria

    Hey, I got a doubt that who will call the print method in the same program and what about the g.drawString() it is showing any output effect. Finally how the variable n will get initializing to 0 and 1 for two times respectively. Can u please elaborate on this...

  • How do i retrieve information from the JSP into my SELECT statements?

    I need to retrieve the information that is being entered into JSP page.. So that i can use them to do an SQL statement.. but im not very sure if my codes are correct.. Following are my codes.. Pls help.. thx
    MyJSPPage.jsp
    <jsp:useBean id="user" class="user.User" scope="session"/>
    <form name="loanItem" method ="POST" action="user">
    <input type="hidden" name="userID" value="<jsp:getProperty name="user" property="userID"/>">
         <tr><td align=left height="34"> <b> <font size="4">Member ID:</font>
    </b> </td>
              <td height="34">
              <jsp:getProperty name="user" property="userID"/></td>
         </tr>     
    ==================================================================================
    MyManager.java --> this file is where all my SQL statements are ..
    [l]String itemType = session.getParameter("itemType");[l] (--->> is how i retrieve info from the JSP page?)
              if (itemType.equals("Book"))
                   String sqlQuery1 = "select loanDuration from ItemPolicy where itemType ='" + itemType+ "'";
                   System.out.println(sqlQuery1);
                   ItemPolicy itempolicy = null;
                   try {
                        db = new Database();
                        rs = db.readRequest(sqlQuery1);
                        if (rs != null && rs.next()) {
                             itempolicy = new ItemPolicy();
                             itempolicy.setLoanDuration(Integer.parseInt(rs.getString("loanDuration")));
                        db.close();
                   } catch (SQLException se) {
                                  se.printStackTrace();
                                  throw (new UserException("Unable to retrieve from Database!"));
                             } catch (Exception e) {
                                  e.printStackTrace();
                                  throw (new UserException("Unknow error encountered!"));
                   String dueDate = util.getDueDate(itempolicy.getLoanDuration());
              else if (itemType.equals("Magazine"))
    ==================================================================================
    Thanks in advance...

    you should change to request.getParameter("itemType").
    or just System.out.print the itemType to see it got the value.
    Hope it helps.

  • How to instantiate an object in a JSP page???

    I want from a JSP page instantiate an object from a client class, for example, and call its methods; one of these methods return me a RecordSet.
    But I don't having success on it. What am I doing wrong??? What would I do??? Have anybody a code sample????
    Regards.

    Hi,
    There's the code that I'm using, they are divided in 3 parts, and I really don't know what is causing this error.
    ********** CLASS conn ******************
    * IT'S THE CLASS THAT DO THE CONNECTION
    * AND EXECUTE THE SQL QUERIES
    import java.sql.*;
    import java.io.*;
    public class conn {
      public static Connection conn;
      public static Statement stmt;
      public static void openConn() throws SQLException {
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
        conn = DriverManager.getConnection("jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.24.8)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = ora_aula)))", "grupo6", "grupo6");
        stmt = conn.createStatement();
      public boolean getConectionState() throws SQLException {
        if (conn.isClosed())
          return false;  
        else
          return true;
      public static void closeConn() throws SQLException {
        stmt.close();
        conn.close();
      public static void postSql(String command) throws SQLException {
        stmt.executeQuery(command);
        stmt.executeQuery("COMMIT");
      public ResultSet returnSql(String command) throws SQLException {
        return stmt.executeQuery(command);
    ********** CLASS materia ***************
    * IT'S THE CLASS THAT INSTANTIATE THE
    * conn CLASS AND PASS TO IT THE SQL
    * THAT WILL BE EXECUTED AND RETURN THE
    * RECORDSET
    import java.sql.*;
    public class materia{
       public Integer materia_code;
       public String  materia_description;
       private conn myConn = new conn();
       private ResultSet materia_data;  
       ResultSet showData(comandosql){
         try {
           myConn.openConn();
           ResultSet data = myConn.retornaSql(sql);
           myConn.closeConn();
           return data;
         catch (SQLException sqlexc) {
           System.out.print(sqlexc);
           return null;
    ********** jsp PAGE******************
    * IT'S THE PAGE THAT INSTANTIATE THE
    * materia CLASS AND EXECUTE THE
    * STATEMENT, AND WHERE THE ERROR
    * IS OCURRING
    <%@ page import="java.sql.*" %>
    <%@ page import="materia" %>
    <HTML>
    <TITLE> Products</TITLE>
    <%
        out.println("<B> TEST </B>");
        ResultSet rs;
        materia mat = new materia();
       rs = mat.showData("SELECT * FROM PRODUCTS");
    // THE ERROR OCURR IN THE STATEMENT ABOVE
    // WHAT AM I DOING OF WRONG????
    // ... REST OF CODE
    %> 
    </HTML>Thanks for your help.
    Regards.
    Clayton

  • Calling a Function in a AbstractPortalComponent Class from a JSP

    Hello,
    i got a class witch extends AbstractPortalComponent. In this class I call in the function doContent this
    response.include(request, request.getResource(IResource.JSP, "pagelet/TestComponent.jsp"));
    now i want to define another function in this class.
    This function should be called from the JSP. For Example when a Button is pressed. I know I can do this with a JSPDynPage but i need it this way.
    How can i realise this?
    Thanks for your replies.
    Greetings
    Christoph

    Never mind - I was doing something very stupid and wasn't
    calling the function as a method of a movie clip. I was simply
    calling checkTarget(event) rather than
    event.currentTarget.checkTarget(event); which seems to work.

  • How to call java classes from javascript?

    i have a button which calls javascript i need to access a class to update the values in the database.. how do you call the java code from within the javascript?
    the class is stored under tomcats classes directory and is accessed:
    com.Database.Employee
    the method is called : UpdateEmployeeDetails
    the button
    <input type="button" value="Save" onclick="submitForm('save')" />the javascript
    <script language="javascript">
            function submitForm(process){    
                document.myForm.action="update.jsp";
                document.myForm.submit();
    </script>

    is it not possible?
    do i have to refresh the page and read in the values like...
    <%
    String ename = request.getParameter( "EmployeeName");
         session.setAttribute( "ename", ename);
    %>and then call the class from here?
    looking around ive come across ajax but i dont know how to use it and what you need to install and if its compatable with tomcat and jsp?
    is ajax better or not really worth it?
    i have anything up to 100 fields that need saving at one save click

  • How to call a report from a jsp page

    Hi
    1) Can anyone please tell me how can i view Discoverer report from a jsp page instead of opening it directly thru plus/viewer.
    2) Please clarify do i need to install Infrastructure and OID for it.
    Please advice.
    Thanks

    You need the AS infrastructure if you want to use connections. If you do not intend using connections, you do not require the infrastructure.
    Note that you cannot pass in passwords in the URL any longer. You do not need to pass passwords if you pass in a Discoverer connection id (but then again - if you don't use connections, then you do need to still pass in the connection information - username, password, database, language, EUL)
    I have a post on my blog that describes how to pass a password using an HTML Form submit - http://oraclebi.blogspot.com/2005/08/passing-password-to-viewer.html
    Thanks
    Abhinav
    Oracle Business Intelligence Product Management
    BI on Oracle: http://www.oracle.com/bi/
    BI on OTN: http://www.oracle.com/technology/products/bi/
    Discoverer: http://www.oracle.com/technology/products/discoverer/
    BI Software: http://www.oracle.com/technology/software/products/ias/devuse.html
    Documentation: http://www.oracle.com/technology/documentation/appserver1012.html
    BI Samples: http://www.oracle.com/technology/products/bi/samples/
    Blog: http://oraclebi.blogspot.com/

  • How to create a PDF from a JSP

    Hi , we would like to convert a HTML report generated from a JSP page into a PDF file. Appreciate if anyone has any pointers on how that can be accomplished. Search a google returned some suggestions saying that we would need some 3rd party softwares to get this done . Please let me know if you are aware of any such softwares. Is there a way we can get this done using any of the standard features of Oracle 8i/Oracle 9i lite/Java 1.3
    Thanks Gurus !

    I've used iText (http://www.lowagie.com/iText/) in the past to create some really elegant reports. This is not part of OC4J, so you will need to add the library.
    Jason

  • How to extend a class from super package?

    Say I have a dir a\
    in dir a\ there is a dir b\
    in b\ there is a class called DerivedClass
    in a\ there is a class called ExtendedClass
    how do I extend ExtendedClass from DerivedClass?

    package a.b;
    import a.ExtendedClass;
    public class DerivedClass extends ExtendedClass{
        //define class members
    This is interesting. But the question is, how does java know where is package b??     By the classpath variable - the classpath is set to one directory above 'a'. When you say
         a.ExtendedClass, since the classpath is set to the immediate parent of a, it searches the child directories
         for a directory called 'a' and upon finding it, searches for a .class file 'ExtendedClass'.
         Similarly when you say a.b.DerivedClass, the search begins in the parent directory for a directory called a and then
         a directory 'b' inside it on finding which it searches for DerivedClass.class
    Alternatively you could have defined DerivedClass to be in package 'b'.     
         package b; //note the difference. Its b and not a.b
         import a.ExtendedClass;
         public class DerivedClass extends ExtendedClass{
             //define class members
         }in which case, you should set the classpath to
    1. a's parent directory
    2. a itself
    The parent directory cp is still required to locate a.ExtendedClass
    The fully qualified name of DerivedClass is b.DerivedClass
    Thus if #1 alone were present, since 'b' is not directly inside the parent directory,
    b.DerivedClass would never be found
    Hence the #2 is required-the search should start from the directory 'a' (as directory 'b' is inside 'a').
    therefore, a package is a directory.No, package is a very java specific thing and though logically package names should match directory names, they
    arent the same.
    cheers,
    ram.

  • How to combine the classes from 2 jar files into 1?

    Hi there
    I have got 2 jar files with the same name but the classes that they contain are different. So, I want to combine those 2 files into 1. Could anyone please tell me how to add the classes in a jar file to another jar file?
    Thanks for your help!
    From
    Edmund

    The jar utility allows you to extract files as well as put them into a jar. This is in the java docs.
    You might have to hand modify the manifest file if it was hand modified in the first place. All you should have to do is copy the text from one file to another. The manifest will have the same name so you will have to extract to different dirs so it isn't overwritten.
    Steps:
    -Create dir1 and dir2
    -Extract jar1 into dir1, Extract jar2 into dir2.
    -Manually examine manifests and combine if needed.
    -Copy files from one dir to another.
    -Use jar tool to create new jar.

Maybe you are looking for

  • Problems after trying mini dvi-to-vga

    I plugged in my mini DVI-to-VGA and it worked for a minute. Then I bumped the adapter out of my MacBook and now it does not work. I can get an image on my tv, but it's only of my wallpaper, no matter what I'm viewing. The bigger problem I have is tha

  • Dual G5, no longer burns CDs

    I have a dual G5, about 4 months old. If I insert a blank CD, the CD drive whirrs for maybe 10-15 seconds, then it ejects the CD. Audio CDs play fine. Data DVDs read fine. However, blank media gets rejected. This started happening after I installed O

  • I got a new computer with Windows but have Photoshop for mac?

    So, long story short, I recently switched from mac to windows and have Adobe Photoshop CS5 installed on my (old) mac. I would like to install Photoshop CS5 on my new computer. Do I need a new activation code, or, more importantly, do I need to purcha

  • Line after item in table ?

    In my smartform , I have a table that prints line items...I need to add a line after each line item to seperate them ...how can i get that ? I tried adding a text element after the item ....but i cant get the line to span the entire table width ?

  • IPhoto darkens images when importing

    I've just been importing some photos into iPhoto 6 and I've noticed that quite a few pictures have been noticeably darkened, and I have no idea why! I checked in the folder and the darker photo does not appear in the folder of 'Modified' photos, but