Retrieving data in jsp from bean

Hi,

I have a jsp page called test1.jsp. I am retrieving data from a bean called Ramdomizer.java. The lines in the jsp are as follows:

[/code]

int arr[]=new int[20];

<jsp:useBean id="MyRamdomizer" class="Ramdomizer" scope="session">

<jsp:getProperty name="MyRandomizer" property="arr"/>

</jsp:useBean>

[/code]

But, when I run the jsp page, I get the following errors:

org.apache.jasper.JasperException: Unable to compileclassfor JSP

An error occurred at line: 8 in the jsp file: /test1.jsp

Generated servlet error:

[javac] Compiling 1 source file

D:\tomcat\work\Standalone\localhost\examples\test1_jsp.java:49: cannot resolve symbol

symbol :class Ramdomizer

location:class org.apache.jsp.test1_jsp

Ramdomizer MyRamdomizer =null;

^

An error occurred at line: 8 in the jsp file: /test1.jsp

Generated servlet error:

D:\tomcat\work\Standalone\localhost\examples\test1_jsp.java:51: cannot resolve symbol

symbol :class Ramdomizer

location:class org.apache.jsp.test1_jsp

MyRamdomizer = (Ramdomizer) pageContext.getAttribute("MyRamdomizer", PageContext.SESSION_SCOPE);

^

An error occurred at line: 8 in the jsp file: /test1.jsp

Generated servlet error:

D:\tomcat\work\Standalone\localhost\examples\test1_jsp.java:54: cannot resolve symbol

symbol :class Ramdomizer

location:class org.apache.jsp.test1_jsp

MyRamdomizer = (Ramdomizer) java.beans.Beans.instantiate(this.getClass().getClassLoader(),"Ramdomizer");

^

An error occurred at line: 8 in the jsp file: /test1.jsp

Generated servlet error:

Note: D:\tomcat\work\Standalone\localhost\examples\test1_jsp.java uses or overrides a deprecated API.

Note: Recompile with -deprecationfor details.

3 errors

The ramdomizer.java program is as follows:

import java.util.*;

publicclass Ramdomizer{

publicstatic Random rand=new Random(System.currentTimeMillis());

static HashSet hs=new HashSet();

public Ramdomizer(){}

publicint [] getRandoms(int maxNo){

hs.clear();

while (true){

int n = rand.nextInt(maxNo);

hs.add(new Integer(n));

if (hs.size() == maxNo){

break;

}

}

int [] ret=newint[maxNo];

Iterator it=hs.iterator();

int cnt=0;

while (it.hasNext()){

ret[cnt++]=((Integer)it.next()).intValue();

}

return shuffle(ret);

}

privateint [] shuffle(int [] arr){

for (int i=1; i<arr.length; i++){

int rp = rand.nextInt(20);

int tmp=arr[rp];

arr[rp]=arr[i];

arr[i]=tmp;

}

return arr;

}

/**

* *********** MAIN ***********

*/

publicstaticvoid main(String[] args){

Ramdomizer rd =new Ramdomizer();

int [] rn=rd.getRandoms(20);

showResult(rn);

/*rn=rd.getRandoms(10);

showResult(rn);*/

//getRandomNum(rn);

}

privatestaticvoid showResult(int[] rn){

for (int i=0; i><rn.length; i++){

System.out.println(i+": "+rn[i]);

}

}

publicint[] getRandomNum(int[] rn){

return rn;

}

}

So, what am I doing wrong? Someone plz help.

Rgds,

shipf1.>

[6082 byte] By [shipf1a] at [2007-10-2 4:48:15]
# 1
Put Ramdomizer in a package. You should never use the unnamed namespace.
YoGeea at 2007-7-16 0:52:58 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 2

I have put the bean in a package and it's executing fine. But, in the jsp page, it's giving http status 500 and getting the following exception:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Ramdomizer

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)

at java.lang.Thread.run(Thread.java:534)

javax.servlet.ServletException: Ramdomizer

at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)

at org.apache.jsp.test1_jsp._jspService(test1_jsp.java:375)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)

at java.lang.Thread.run(Thread.java:534)

I have put the statement : <%@page import="bean.Ramdomizer"%>

in the jsp page.

Shipf1.

shipf1a at 2007-7-16 0:52:58 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 3

HI,

I am sending u the jsp page code too.

<html>

<head>

<HEAD>

<body bgcolor="#E6E6E6">

<%@page import="java.lang.*,java.sql.*,java.util.*" session="true" %>

<%@page import="bean.Ramdomizer" %>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

/*<taglib>

<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>

<taglib-location>/WEB-INF/c.tld</taglib-location>

</taglib>*/

<%

int arr[]=new int[20]; %>

<jsp:useBean id="MyRamdomizer" class="bean.Ramdomizer" scope="session">

//<jsp:getProperty name="MyRandomizer" property="rn"/>

</jsp:useBean>

<c:set var="arr" value="${bean.Ramdomizer.rn}" />

<%

for(int l=0;l<20;l++)

{

out.print(""+arr[l]);

}

But, I am getting this error:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: This absolute uri (http://java.sun.com/jsp/jstl/core) cannot be resolved in either web.xml or the jar files deployed with this application

at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:105)

at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:430)

at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)

at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159)

at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:354)

at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:381)

at org.apache.jasper.compiler.Parser.parseElements(Parser.java:795)

at org.apache.jasper.compiler.Parser.parse(Parser.java:122)

at org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)

at org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)

at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)

at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)

at java.lang.Thread.run(Thread.java:534)

--

Shipf1.

shipf1a at 2007-7-16 0:52:58 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...