JDeveloper 903 BC4J JSP Layout Customerization

BC4J is so powerful that enabled me to built an application in minutes. I used the JDeveloper903 this week built a BC4J JSP Application pulling data from a single table on Oracle9i
and wanted display the search summary result's lables and their corresponding data fields in a html table in the following ways:
record 1
Lable1 data 1
Lable2 data 2
Lable3 data 3
record 2
Lable1 data 1
Lable2 data 2
Lable3 data 3
Not the default way:
Lable1, lable2, lable3
data1 data2 data3
data1 data2 data3
data1 data2 data3
Also need a link to its detail page from data1.
How can I customerize the layout based on the existing application or I have to re-build the application with new design?
Any sample can show me step by steps?
Appreciate your ideas!

Is "Inserting BC4J Data Tags from the JDSP Data Binding Tool" in the JDeveloper903 the right direction to go?
Thanks

Similar Messages

  • Layout options when generation BC4J Jsp

    I have a novice question..
    Ive tried to user Jdeveloper to generate JSP pages for displaying data from Oracle tables. And it seems to work just fine. Ive tried BC4J Jsp, UIX Jsp and UIX XML. But i cant figure out how to change the layout! By that i mean how the JSP is presenting the data in HTML. Simple things like Font and color of HTML tables seems to be hidden somewhere...
    Any ideas???
    Bjxrn
    Norway.

    The style information is stored in a HTML stylesheet called BC4J.css in the case of the BC4J application. This file is already deployed in the webapp application. You can look at it in BC4J\redist\webapp\css. To customized these setting you can modify their values by inserting your own style sheet with the new style values overwritten.
    For UIX project the style sheet is generated and you have to go through style customization at the UI renderer level.

  • How to run BC4J JSP programs generated by JDeveloper 9i?

    I used JDeveloper 9i to:
    Create a new Project Workspace
    Create New Business Components
    Click on Run, Run Project
    The Java application works perfectly alright.
    Click on New, BC4J JSP, Business Components JSP Application
    Then a full set of JSP source code is generated based on the Business Components Java Application.
    Right-click on main.html, Run main.html
    I can see that deployment of the JSP programs is OK but the Internet Explorer does not start the main.html.
    I enter address: http://localhost:8988/ in Internet Explorer and can see that OC4J is running.
    I would like to enter the path of the deployed JSP program.
    How can I know what is the path of the URL?

    I have change the settings in tools->preferences to point to the right location, i.e.
    C:\Program Files\Internet Explorer\IEXPLORE.EXE
    Internet Explorer does not start after it shows:
    C:\oracle\ora9ids\jdk\bin\javaw.exe -ojvm -classpath C:\oracle\ora9ids\j2ee\home\oc4j.jar -Dhttp.proxyHost=hqproxy.vtc.edu.hk -Dhttp.proxyPort=8080 com.evermind.server.OC4JServer -config C:\oracle\ora9ids\jdev\system\oc4j-config\server.xml
    [Starting OC4J using the following ports: HTTP=8990, RMI=23893, JMS=9229.]
    [waiting for the server to complete its initialization...]
    Oracle9iAS (9.0.2.0.0) Containers for J2EE initialized
    ApplicationServer: appName = bc4j
    ApplicationServer: appName = current-workspace-app
    ApplicationServer: appName = bc4j
    ApplicationServer: appName = current-workspace-app
    ApplicationServer: appName = bc4j
    ApplicationServer: appName = current-workspace-app
    ApplicationServer: appName = bc4j
    ApplicationServer: appName = current-workspace-app
    ApplicationServer: appName = bc4j
    ApplicationServer: appName = current-workspace-app

  • Using MySQL with JDeveloper 3.2 in a BC4J JSP Application

    Hi!
    I'm trying to create a BC4J JSP application using MySQL.
    I'm using the mm.mysql-2.0.4-bin.jar which I've registered in
    IDE and ClassPath. I created a connection with the option Other
    JDBC.
    I tested successfully the connection in the Connection Manager.
    After, I created a new project with BC4J. Using the 'tester' I
    got an error: no suitable driver.
    While editing the created view object I got a SQLException when
    I clicked in Attribute Mapping.
    How to solve this problem? I realized that other people here had
    this kind of problem but nobody gave a definitive solution.
    Thanks.

    Ok, I'm doing exactly the same Jdevloper BC4J over mySQL.
    I got one step further.
    In order to solve your problem:
    1. Add AddJavaLibFile ../lib/mysql_comp.jar (or whereever
    is your mysql driver) in bin/jdev.conf.
    resart the application
    In that case your driver will be available for all tasks.
    It works for me.
    My problem:
    When I run the Tester for my generated module, I obtain:
    No attribute with the Primary key property was found...
    Can you emeil me the procedure if you find how to use
    BC4J over mysql

  • Deploy BC4J/JSP-Struts to IAS

    HI,
    I'm trying to deploy a BC4J/JSP-Struts application to IAS. This application was developed with JDeveloper 9.0.3.
    I can deploy this application to a Standalone OC4J (delivered with JDeveloper 9.0.3) on Windows2000 without problem.
    Then I want to deploy this application on Oracle9iAS 9.0.2. For this I create an .EAR file with JDeveloper and I start the OC4J Administrator tools from Oracle9iAS and deploy my application.
    I start the application with
    http://erbium.int.imd.ch:7778/InvoicesInterface/main.jsp?user=x-XxX
    and I become the menu without Problem.
    Then I click on the link
    http://erbium.int.imd.ch:7778/InvoicesInterface/VInvoiceUsersView1_Browse.do?user=x-XxX
    and I become following :
    HTTP 500 Internal server error
    The page cannot be displayed
    Did you have any Ideas ?
    Thanks Yves
    Configuration:
    - Oracle9iAS (9.0.2) on Solaris
    - JDeveloper9.0.3

    Yves -
    I am not able to pinpoint the exact error you are having but here are some obervations
    a) You are going backwards in versions of OC4J when you deploy to 9iAS 902. If you are using JDev 903, then it is running with a local version of OC4J 903. When you are deploying to 9iAS 902, it's a earlier release of OC4J, so there may be an issue there. There is a 9iAS 903 version available from OTN that would be better to use in this case.
    b) Is the struts framework packaged as part of the EAR file you are deploying? i'm not familiar with how BC4J and Struts apps are packaged from JDeveloper, but this is something to check on for sure. The local OC4J running inside of JDeveloper may have the Struts libs configured at the server level.
    c) You might want to try and change the show-friendly-error-messages (or something like that) property inside of IE (if you are using it) so that it will display the stack trace the server might be sending. this may be of help to further locate the source of the problem (ClassNotFoundException, etc.).
    -steve-

  • JDeveloper 9i BC4J API Reference webpage available?

    Could anyone tell me where I can find the reference page of JDeveloper 9i BC4J API? I am doing a migration from JDeveloper 3.2.3 to JDeveloper 9i. It seems that the definitions of some APIs are not consistent in the new version. Thanks for any suggestion. (It would be very great if there are some open source codes)

    Huaichen,
    The JavaDoc for the BC4J API is
    http://otn-stage.us.oracle.com/hosted_doc/jdeveloper/903/bc4jjavadoc/rt/
    Sources for the jsp, html and Swing (JClient) parts of the BC4J systems are in the
    \BC4J\src directory.
    The source for the Tester application is also shipped for reference.
    There have been relatively few backward compatibility problems reported.
    I'd be interested in hearing more about your problem.
    Thanks,
    Mike

  • How to solve the error while  Deploy a BC4J JSP Application using tomcat,

    hello,
    how to avoid the following error?
    i am using jdevloper for devloping jsp applications.
    after that i am calling the jsp page using tomcat4.0 ,i followed the steps according docs by jdev team,
    i am getting the following error how to solve this,
    can one help?
    =============================
    type Exception report
    message Internal Server Error
    description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
    exception
    org.apache.jasper.compiler.CompileException: /AccountView_Browse.jsp(4,0) Unable to load class oracle.jbo.html.jsp.datatags.ApplicationModuleTag
    at org.apache.jasper.compiler.TagBeginGenerator.init(TagBeginGenerator.java:139)
    at org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.init(JspParseEventListener.java:829)
    at org.apache.jasper.compiler.JspParseEventListener.addGenerator(JspParseEventListener.java:153)
    at org.apache.jasper.compiler.JspParseEventListener.handleTagBegin(JspParseEventListener.java:1039)
    at org.apache.jasper.compiler.DelegatingListener.handleTagBegin(DelegatingListener.java:221)
    at org.apache.jasper.compiler.DelegatingListener.handleTagBegin(DelegatingListener.java:216)
    at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:852)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1145)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1103)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1099)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:214)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:210)
    at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:176)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
    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:243)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
    at java.lang.Thread.run(Thread.java:536)
    ====================
    thanks
    pullareddy

    I had very similar problems with adding the correct JDeveloper .jar files to Tomcat's lib folder, but did eventually resolve my issues.
    The problem I am having now, however, is the following error message:
    Error Message: oracle.jbo.html.RequestParameters.addParameter(Ljava/lang/String;Ljava/lang/String;)V
    Yes, I have deployed the bc4jhtml.jar file from JDeveloper to Tomcat\common\lib!
    My web-app is a very simple BC4J JSP application. I have one BC4J component in its own project and JAR file, and one JSP referencing that BC4J component - I deploy the BC4J JAR along with the WAR file from the JSP project. Needless to say, the JSP works fine within JDeveloper..!
    I'm using JDev 9.0.3 and Tomcat 4.1.12. Does anyone have any suggestions?
    Thanks,
    S.

  • BC4J, JSP, Apache: Deployment to web-inf

    I'm trying to deploy a BC4J JSP application to a web-inf directory. In other words I'm using the OracleJSP extensions that support the globals.jsa application/session context.
    When I place my application's BC4J jar file in the \approot\web-inf\lib directory it doesn't work. When I try a simple app with no BC4J its works. ie. My JSP works and it can load classes from both \approot\web-inf\classes and \approot\web-inf\lib\??.jar.
    If I place the application BC4J jar file in \approot\web-inf\lib it can't find files such as \bc4jpackage\common\bc4j.xcfg. Therefore I think OracleJSP will load classes from \web-inf but because its not really in the JServ classpath BC4J wont find any other files.
    Anyone tried this? Is there a workaround?

    Hi,
    I am yet another victim of the age-old error JBO:33001 bc4j.xcfg file not found in class path, When i have my BC4JApp.jar in Tomcat Web-inf/lib directory. All the other jar files and class files in my webserver-application web-inf classes and lib directory works.
    But Tomcat server is not able to read this bc4j.xcfg file. I can see in my jar file that this bc4j.xcfg exists and in the specified package directory. still the problem persists. My BC4JApp.jar is perfectly working when i use JDeveloper. but not when i use tomcat4.0 and call a JSP using BC4JApp.jar from browser (My environment is Jdeveloper3.2, Tomcat4.0+IIS in middle tier and oracle 8i as DB, everything on windows2k)
    I have gone through almost all the threads possible that relates to this error in this form. None of them have a answer except to say "put the file in classpath". and last reply is "will fix in jDeveloper 9i. So what happens to us who are working in Jdeveloper 3.2?
    1. I have this file in my jar file.
    2. I also tried creating a seperate directory manually, with the same name as my package under web-inf/classes, web-inf/lib , just under web-inf directory and atlast under approot directory also. I tried having my package directory containing bc4j.xcfg in these folders one at a time and also tried having this directory in all these folders at the same time.
    Still no solution.
    Itz frustrating that neither proper documentation nor a right url page nor i am aware of available addressing this. page links given in above threads only gives me the wonderful page of ie's "Page cannot be displayed".
    Is there a answer to this error and my problem. If this doesn't work, then i have to all the way develop from scratch creating my jsp using JDBC calls and Stored packages etc.
    I don't want to give up on this Jdeveloper at this final moment because if this bc4j.xcfg file is found, my application will work perfectly. on these final moments, if this doesn't work, i am frightened to imagine to develop my application in standard way. Atlast, if thatz the option left,we have to do that bcos our production date is close by.
    Please can some one in this forum or Jdeveloper help me to solve this problem. I am desperate and very urgent.
    Waiting for a reply from Jdev team very much...
    Thanks
    Hari(2/3/02)

  • Running a BC4J JSP application for Oracle Lite on OC4J

    Hi,
    My BC4J JSP application is working with Oracle and Oracle Lite on Apache (Oracle 8i Personal Edition) and on Tomcat 3.2. The same BC4J's could be used from the BC4J Tester as well.
    But if I run the application on OC4J (standalone and embedded in JDeveloper 9i RC1 and RC2) using Oracle Lite, a Fatal Internal Error (or with JDK1.2 a NullPointerException) occurs.
    I think I found the reason:
    1. the Java Trigger in Oracle Lite and
    2. the Timestamp used in Oracle Lite instead of Date.
    My problem is, that I can't find any information about configuration of OC4J so that it could work with Oracle Lite as well as Apache and Tomcat.
    Claudia

    The tell tale sign that the application is communicating with the running cache server is the membership information that is logged. In your previous running of the example you would have "members=1" embedded in the logging. From the sounds of what you are doing, you'd expect this to be different as the application would be joining a running instance. Check out section 1.3 of this doc on the system you are using.
    http://download.oracle.com/docs/cd/E15357_01/coh.360/e15831/installcoh.htm#BABIHHFJ
    Cheers,
    Jay

  • Trouble with bc4j/jsp tutorial

    I'm having difficulty running the bc4j/jsp tutorial in the doc pages. he ones on the oracle website, not through the help menu cos it's modal!
    After the second start from scratch I'm pretty certain I'm doing excatly as instructed but on starting the oc4j, I get the following error page in IE...
    Any ideas?
    Rick Lawson.
    Application Error
    Return
    Error Message: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-33001: Cannot find the configuration file /jsptags/common/bc4j.xcfg in the classpath
    Error Message: JBO-33001: Cannot find the configuration file /jsptags/common/bc4j.xcfg in the classpath
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-33001: Cannot find the configuration file /jsptags/common/bc4j.xcfg in the classpath
         at oracle.jbo.common.ampool.PoolMgr.findPool(PoolMgr.java:372)
         at oracle.jbo.common.ampool.ContextPoolManager.findPool(ContextPoolManager.java:169)
         at oracle.jbo.http.HttpContainer.findSessionCookie(HttpContainer.java:554)
         at oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doStartTag(ApplicationModuleTag.java:143)
         at CustomersView_Browse._jspService(CustomersView_Browse.jsp:10)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:302)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:407)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:330)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:684)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:735)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:243)
         at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)
    ## Detail 0 ##
    oracle.jbo.JboException: JBO-33001: Cannot find the configuration file /jsptags/common/bc4j.xcfg in the classpath
         at oracle.jbo.client.Configuration.loadFromClassPath(Configuration.java:237)
         at oracle.jbo.common.ampool.PoolMgr.createPool(PoolMgr.java:192)
         at oracle.jbo.common.ampool.PoolMgr.findPool(PoolMgr.java:348)
         at oracle.jbo.common.ampool.ContextPoolManager.findPool(ContextPoolManager.java:169)
         at oracle.jbo.http.HttpContainer.findSessionCookie(HttpContainer.java:554)
         at oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doStartTag(ApplicationModuleTag.java:143)
         at CustomersView_Browse._jspService(CustomersView_Browse.jsp:10)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:302)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:407)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:330)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:684)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:735)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:243)
         at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)

    1. At what step in the tutorial did you see this error?the link to the web page would be http://otn.oracle.com/jdeveloper/help/topic?inOHW=true&file=jar%3Afile% (basically, at the end of autocreating the page and running oc4j (embedded) to see the JSP
    2. Are you running on a deployed environment?No. This was as the tutorial, in the embedded oc4j
    3. What version of JDev/ OC4J are you using?oracle IDE version is 9.0.2.829
    4. Did your BC4J project compile cleanly?yes (or at least it appeared to do!)
    5. Did you check the Deploy Password box when you created your database connection?yes.
    I shall be reading up on the bc4j.xcfg today...
    Thanks for the help
    Rick

  • Deployment of BC4J JSP in Java web Server2.0

    I'm presently trying to deploy a BC4j Jsp into the Java Webserver , I have copied all the class , java and the JSP files in the JWS2.0 , but the error I get is as follows :
    Package oracle.jbo.* not found in import ,
    Package javax.naming.* not found in import ,
    Package oracle.jdeveloper.html.* not found in import etc.
    I tried to copy all the JDeveloper class files in the JWS2.0 but no luck ,but here I was able to deploy sucessfully an simple jsp application using a session bean.
    Secondly, I'm not able to use the internal web server of JDeveloper3.0 to run my JSP's , if I try to run, the browser is not able to contact the port no. 7070 and it gives an TCP error / connection error.
    Please also suggest how to include the Jdbc driver in the classpath.
    Thanks in advance ,
    regards,
    Ekta

    Please see the online help for deploying JSP web applications. The instructions are under User Guides, Developing Web Applications, Developing JSPs and Servlets...
    There are a number of dependency archives that need to be deployed to your webserver in order for the BC4J JSPs to run correctly.
    IF you look at the Project Properties for your JSP project, you will see a number of them such as Connection Manager, ORacl e8.1.5 JDBC, etc. EAch of these libraries is based on one or more .jar or .zip files which need to be present in your webserver.
    Which ones you deploy somewhat depends on how you have deployed your Business Components app module. The online help provides more details.
    The Oracle JDBC classes are all located in <JDEV_HOME>/jdbc/lib/oraclex.x.x/classes111.zip. Where x.x.x is the version of the drivers. 8.1.5 is the default in JDev 2. and 3.0.
    Laura

  • Bc4j jsp calendar deployment problem

    Using jdeveloper 9.02 I made a simple webapplication with bc4j jsp's and deployed it to oc4j (9.0.2.1) directly from jdeveloper as described in the help. This works fine, except for the calendar (datepicker). When the calendar is loading in a separate frame I become an 'access is denied' error. In the http-web-access.log the following line shows up:
    127.0.0.1 - - [25/Nov/2002:15:52:54 +0100] "GET /webapp/jsp/calendar.jsp?redirect=/webapp/jsp/calendar.jsp&locale=de_AT&enc=windows-1252&origValue=1980-12-24&format=yyyy-MM-dd&formatter= HTTP/1.1" 500 383
    The application runs fine on the oc4j inside jdeveloper, so I assume it is a configuration problem. However, so far I couldn't find out what is wrong.
    If I make a simple application using the wizards for the emp table, and deploy it with standard settings to the local oc4j, I have exactly the same problem.
    does anybody have a suggestion?
    thanks, Cor

    problem is solved.
    Webapp and cabo are installed as applications in their own directory structures. However, the required libraries are not deployed automatically in the web-inf/lib directory. They are present in the main application web-inf/lib, but these are apparently not accessable. Copying the libraries solves the problem.
    I'm still wondering whether I did something wrong. Simply deploying the bc4j.ear to oc4j is obviously not enough, but that is what the jdeveloper help is saying. Did I misunderstand something?
    Cor

  • Issues with deploying BC4J/JSP applications on OC4J

    To everyone who's been having problems deploying BC4J/JSP applications to OC4J.
    We are aware that you're having problems deploying to OC4J, and we're working on them. OC4J was not available in time for us to add support for OC4J deployment to the JDeveloper 3.2.3 release. In addition there are some bugs in the first release of OC4J that have an impact on BC4J applications. This note describes the issues, and how we plan to address them.
    Issue 1: Classpath problems
    People have been getting "class not found" or "properties file not found" errors when they try to run their JSP. The answer is to make sure that all relevant archives and your JSP's .properties file are in the OC4J classpath - there's a note addressing the .properties file problem at http://technet.oracle.com:89/ubb/Forum99/HTML/000028.html. In general though, setting up the classpath can be tricky.
    Issue 2: JSP TAG NOT RELEASED ON END TAG. SAME TAG IS REUSED.
    This issue affects JSP pages whose behaviour relies on a tag instance being cleaned up as a result of release() being called.
    Your tag will not be released, and subsequent instances of the tag will reuse the first instance, rather than instantiating a new
    one.
    Issue 3:JSP SCRIPTABLE VARIABLE NULL
    A scriptable variable set in a tag cannot be accessed by a scriptlet. For example, this JSP code will throw a
    NullPointerException, because the scriptlet cannot access the value of resultRow:
    <jbo:Row id="resultRow" action="CURRENT" datasource="customer_vo1" />
    <%
    session.putValue("FIRSTNAME", resultRow.getAttribute("Firstname").toString());
    %>Workaround: Add a line of code at the beginning of the scriptlet to explicitly get the variable's value from the page context, for
    example:
    <jbo:Row id="resultRow" action="CURRENT" datasource="customer_vo1" />
    <%
    resultRow = (oracle.jbo.Row)pageContext.findAttribute("resultRow");
    session.putValue("FIRSTNAME", resultRow.getAttribute("Firstname").toString());
    %>
    What we plan to do
    To address issue 1, we're currently testing a utility that installs the BC4J runtime libraries to OC4J, and provides a script to start OC4J with the correct classpath. We plan to post this by the end of this week, along with instructions for deploying a BC4J application to OC4J; deployment will be a lot simpler after running the utility.
    To address issues 2 and 3, we're working on a second utility that installs BC4J runtime and provides a fix to the JSP compiler. We plan to post this second utility by the end of next week.
    We do apologise for the problems you're having; please bear with us as we work on making it easier for you to deploy BC4J applications to OC4J.
    Thanks
    Blaise

    Hi, I have been trying desparately to deploy
    a simple example JDeveloper application for months and months.
    I HAVE NEVER BEEN SUCCESSFUL IN DEPLOYING ANYTHING.
    I don't know much about webservers and I am relying
    on the instructions from JDeveloper help and this website.
    I have already tried Apache, and WebLogic
    because there are instructions in the JDev help.
    No luck.
    Now I am trying to use OC4J on 9ias because there are instructions.
    I have read the instructions about how to install a BC4J
    app on OC4J about 25 times, but I can't get this thing to work.
    It works fine inside of JDeveloper.
    I create a BC4J project using the scott
    schema (just the dept and emp tables).
    Then I create an empty project for my JSP client.
    I choose JSP Application from the web
    objects and it connects to my BC4J project.
    As I say, when I run it in JDeveloper, there is no problem.
    In the instructions for installing BC4J
    in OC4J, it first says install JDev 3.2.3 and OC4J.
    This is done, and it tested fine.
    Then it says to install the deployment software.
    No problem.
    But when I deploy the app according to the instructions,
    it just hangs (like Rick Wang's program did).
    The main.jsp page loads and displays correctly,
    but when I click on the links to the DeptView.jsp
    or EmpView.jsp it just hangs.
    Here is the entire batch file I'm using
    to start OC4J: cd c:\oracle_9ias\j2ee\home
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\default-web-app\lib
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\classes
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\classes12.jar
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\xmlparserv2.jar
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jdev-rt.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbojdbcpatch.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\connectionmanager.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbohtml.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jboimdomains.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordim817.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordvir817.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordhttp.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbomt.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbodomorcl.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jboremote.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jndi.jar
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbodatum12.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\al_BC4J.jar
    java -cp C:\oracle_9ias\j2ee\home\orion.jar;%CLASSPATH%
    com.evermind.server.ApplicationServer
    pause
    The file al_BC4J.jar contains my application.properties file
    and my connections.properties file, as well as my business components.
    All of the files referenced in my classpath are
    present in my c:\oracle_9ias\j2ee\home\lib directory.
    I noticed that Raghu's classpath contains a file called jdev.jar
    So does the classpath of another fellow who says
    he was successful in deployment (his name is Jeffrey Jackson).
    I searched my JDev_3.2.3 for this file and found it nowhere.
    I also searched my OC4J home and my 9iAS for this file and
    found it nowhere.
    It is nowhere on my C:\.
    Is this file necessary?
    I will also try removing my application.properties file
    and my connections.properties file from my BC4J .jar file
    and put them in a separate .jar file at the root level (as Raghu did).
    However, Jeffery Jackson did not do this and says he was
    successfull in deployment.
    ***DO I NEED TO JAR UP ANY OF MY THE FILES FROM the JSP
    FOLDER IN JDevHome\myhtml???***
    ***or place them in the classpath?***
    I have read over all of the discussions at: http://technet.oracle.com:89/ubb/Forum2/HTML/008232.html
    and http://technet.oracle.com:89/ubb/Forum99/HTML/000028.html
    many, many times.
    Can anyone help me?

  • JDev9i: BC4J JSP or UIX JSP?

    Hi,
    To develop a large JSP application, I read the document to
    decide which one to use BC4J JSP or UIX JSP? but still not sure
    which one to start. Any command from experienced JSP developer
    would be a great help for me. Thanks.

    Hello,
    Did you look at the section titled "Which Technology Should I
    Use?" in the JDeveloper online documentation? It gives a fairly
    decent idea on what you can do with the various pieces if
    technology that form a part of the UIX framework. Given that you
    are planning on building a huge application I am assuming that
    you would be interested in a consistent look and feel across the
    different pages of your application. UIX lends itself very well
    to build such applications very easily. On the other hand if you
    wanted to use JSPs, you could still use the UIX JSP tags which
    provide JSP tags which are wrappers for the underlying UIX
    elements. However, the UIX elements are much richer in terms of
    functionality (attributes, etc.)
    Hope this helps,
    -Kishore
    JDev Team

  • Which Web Client Framework? BC4J-JSP, UIX-JSP, UIX-XML, etc

    Trying to determine which, if any of the JDeveloper frameworks, to use for do web browser (HTML) clients.
    What are the pros/cons of BC4J-JSP, UIX-JSP, UIX-XML, etc?
    What are some common things you might rule out using one or more of the frameworks?
    I plan to be using BC4J, updating, inserting data (currently MS-SQL) and the apps will run on WebLogic 7 or Caucho Resin (webapps no EJB) in a cluster. I would like to be as RAD as possible and still be able to do what I need to do. One main concern is being able to add custom HTML/JavaScript for things like client side validation. I didn't see a way to do this when doing BC4J-JSP. Is that right?
    If I define any validation in the BC4J, will UIX utilized any of this to define a JavaScript validator or must it be redudantly defined?
    One other concern is what the framework requires in terms of architecture, like do I have to have sticky sessions in my web cluster or can it work fine stateless or stateful?
    For UIX-XML, how is this architected for performance? Specifically, is the XML effectively compiled and converted into something more efficient and performant or does it do XML parsing all the time? Is there any significant performance differences between the frameworks?
    Is there any significant difference in dealing with security? Anything in the framework to make it easier to handle certain users being able to see/edit different set of data?
    I have things like some groups can edit only certain entities (product info but not pricing), others only certain types of products (possibly subclass entities) and others situations where what fields than can edit varies. Obviously I can handle this programmatically, but I was wondering what the frameworks had to offer, especially in terms of having different views of the same data.
    Steve

    ...I am little confused then about how BC4J works and what is meant by "session" here.
    When you talk about appmodules in the plural, does this mean that there are potentially multiple instances of the same data on a single server or there is a common datastore with pending data and client specific stuff varying?
    The common datastore is the database. Each client (momentarily, during the span of their request) uses an instance of an application module from the pool. The pool can grow and shrink with load on your system and all of the various tuning parameters. Our doc on the AM Pool covers all the parameter settings and their users.
    What kind of "session" is this?
    It is an abstract notion of a session for a user. The implementation used for Web clients uses the HTTP Session Key as the session key. However, we have other session implementations (and you can provide your own to do custom stuff for more sophisticated needs). We don't store anything else in the HTTP Session to the best of my knowledge. This way in a cluster, the web container doesn't have to waste time propagating all of your serialized HTTP Session state among cluster members. This session key also include an id for the application module and together those provide the key to store your pending state in the database for the "Stateful == Managed State" feature.
    I assume that if I have a cluster which doesn't use session-to-same-server-affinity but uses JDBC for http-session persistance or distributed in-memory http-sessions then I cannot use stateful BC4J even though I can use http-sessions.
    You can use BC4J in this way because the browser will send a cookie that contains the key to your database-stored pending state. In this way, we work great in a server farm for failover and/or scalability reasons.
    Even if I use stateless BC4J, are there issues with round-robin'ng all requests to different servers in a cluster?
    As I said, both our Stateless and Stateful features are designed to be used in Server farms, no problem.
    BTW I wouldn't necessarily say you picked the wrongs terms for the modes, but I know what you mean. There's problems with these terms. I am trying to explain to my mgrs/engineers that there is some state in stateless transactions - that simply making everything "stateless" doesn't mean don't lose anything in a disastrous failure. I am arguing to get support for sessions in our cluster, that the performance gain and simplified development is worth it as long as you put intelligent limits on what you store in the session. Right now, they are insisting on randomly sending requests into two entirely different data centers, with two different clusters.
    Amen. I have seen too many developers make the mistake of trying to be totally stateless, only to completely complicate their development environment with having to peristent partially-completed transaction data to the database. I've seen this done with sets of "Shadow" tables (yuck!) or using hand-written techniques similar to what BC4J provides a robust implementation of in the box.
    We've tuned our "Stateless With Affinity for Server Farms" model over several releases of carefully studying the performance of the Web apps built by our internal Oracle Applications teams using BC4J (over 20 of them now, and growing!) so compared with a hand-written strategy for your web-tier state management, using BC4J's implementation will be much more productive for you.
    We're tuning and tweaking and enhancing it even more for the 9.0.3 release as new needs are highlighted with continued use by our customers (both Oracle internal and external).

Maybe you are looking for

  • Can I dump out the data point of a curve in the equalizer?

    Hi all, After using the equalizer, I would like to dump out the data point of the following curve. Is there any method to dump out the data points? Thanks a lot for your kindly help. Leo

  • Movement type 603

    Hi all, I created a delivery note for a material from one plant to another using transaction VL10D as I always do, but for some reason it did a 603 mvt type instead of a 641 mvt to place the material in transit, problem is that destination plant cann

  • Printing a file

    hello, i am trying to use the javax.print package to print a file. The following is my code: import java.net.*; import javax.print.*; import javax.print.attribute.*; import javax.print.attribute.standard.*; class t { public static void main(String ar

  • Can't generate the same MD5 digest as in RFC2617!

    My problem is that, following the sample implementation in RFC2617, the genrated hash is never like the expected one mentioned by the sample! And I've been trying all possible combinations (as far as I know) while running my tests! The essential part

  • I have a gen 1 and want 5.1.1 but does not show up as available in itunes How can I upgrade?

    Can anyone tell me how to upgrade to 5.1.1 when itunes shows nothing for that upgrade.  Please help I am getting so frustrated by this.  thanks