Web app context variables?
Hello all, I have another question. In my app I want all *.jsp pages to report how many currently active users are on my site. It could do this one of two ways (that i can think of),
1) Run a count of how many sessions are in the 'sessions' table in my mysql db
2) Read some sort of global context variable that is set everytime someone logs in
Obviously 1) will be a smidgin more accurate but more labor intensive than 2. Can anyone think of a better way to do this? Also if i were to go the global variable route would there be a better way to do it than
this.getServletContext().setAttribute("com.thesite.loggedin", 11)and then reading this int in the *.jsp(s), is something like this able to handle concurrent set & get (is it thread safe?)
Thanks for any help!
You can make use of attributeAdded() method of HttpSessionAttributeListener. Whenever any attribute is set in session, attributeAdded() method will be called and you can increment a counter in that method. Eg:
public class SessionAttributeListener implements HttpSessionAttributeListener
int count=0;
public void attributeAdded(HttpSessionBindingEvent e)
System.out.println("session attribute added");
count++;
public int getCount()
return count;
}You can call SessionAttributeListener.getCount() method to count the number of active users.
Similar Messages
-
Mapping of Web App context root and the physical directory of the web app
I'm running Weblogic 7.0 on Windows2000.The physical directory of my web application
is D:\WL8\weblogic81\TestDeploy\build\TestWebApp and under these directory I have
my JSPS, static HTML and WEB-INF. I define the context path of this web app in
the weblogic.xml ;-
<weblogic-web-app>
<context-root>/testapp</context-root>
</weblogic-web-app>
As a result of deploying this web app in the server (or it may be created manually
also), the following entry gets inserted in the server's config.xml ,-
<Application Deployed="true" Name="TestWebApp"
Path="D:\WL8\weblogic81\TestDeploy\build" TwoPhase="true">
<WebAppComponent Name="TestWebApp" Targets="myserver" URI="TestWebApp"/>
</Application>
Now, whenever I make a request of the form "http://localhost:7001/testapp/..",
it's properly executing my web app. My question is, how does the container knows
that for any request for the web app with context path as 'testapp', it has to
server files from D:\WL8\weblogic81\TestDeploy\build\TestWebApp. In the above
process, nowhere such mapping is specified. I expected something like Tomcat's
server.xml, where in docbase we clearly specify this mapping between the context
path and the physical directory. Please help.Let me give some more details and hopefully this will make things clearer.
Say you deploy /foo/bar/myweb.war and in myweb.war you configure a
context-root of /rob
During deployment, the server creates an ApplicationMBean with a path of
/foo/bar/. It then creates a WebAppComponent with a uri of myweb.war.
Next, deployment calls back on the web container and tells it to deploy
the WebAppComponent. The web container reads the myweb.war, parses
descriptors etc. The web container then updates its data structures to
register that myweb.war has a context path of /rob. (It has to figure
out all the other servlet mappings as well.)
When a request for /rob/foo comes in, the web container consults its
data structures to determine which webapp and servlet receives the
request. This is not a linear search of all webapps and servlets.
There's much better ways to do pattern matching.
Hope this clears things up. Let me know if you still have questions.
-- Rob
Arindam Chandra wrote:
Thanks for the answer. Still one thing is not clear. Whatever context path I declare
for my web app as the value of <context-root> element in the weblogic.xml (in
my example it's "/testapp"), it is no where mapped with the "URI" attribute (or
any other attribute, sub-element whatsoever in the <Application> element).
Application Deployed="true" Name="TestWebApp"
Path="D:\WL8\weblogic81\TestDeploy\build" TwoPhase="true">
<WebAppComponent Name="TestWebApp" Targets="myserver" URI="TestWebApp"/>
</Application>
So when a request of the form http://myweblogic.com:7001/testapp/... arrives at
the server, how does the server knows that it has to serve this request with files
from D:\WL8\weblogic81\TestDeploy\build\TestWebApp ? It should not be like the
web container iterates thru all the web application entries in config.xml and
tries to match with one context-root declaration. I repeat, I expected some mapping
similar to Tomcat's server.xml, where in the <docbase> element u clearly specify
the mapping between the context path and the physical directory
Rob Woollen <[email protected]> wrote:
Arindam Chandra wrote:
I'm running Weblogic 7.0 on Windows2000.The physical directory of myweb application
is D:\WL8\weblogic81\TestDeploy\build\TestWebApp and under these directoryI have
my JSPS, static HTML and WEB-INF. I define the context path of thisweb app in
the weblogic.xml ;-
<weblogic-web-app>
<context-root>/testapp</context-root>
</weblogic-web-app>
As a result of deploying this web app in the server (or it may be createdmanually
also), the following entry gets inserted in the server's config.xml,-
<>So the server will look for your web application at the Application Path
(D:\WL8\weblogic81\TestDeploy\build|) + the web uri (TestWebApp). So
it
maps the context-root you've specified /testapp to that path.
It's a little clearer in the case where you had a full-fledged EAR.
Then you'r application path would map to the "root" of the EAR, and the
uris would point to the various modules (eg webapps.)
-- Rob
Now, whenever I make a request of the form "http://localhost:7001/testapp/..",
it's properly executing my web app. My question is, how does the containerknows
that for any request for the web app with context path as 'testapp',it has to
server files from D:\WL8\weblogic81\TestDeploy\build\TestWebApp. Inthe above
process, nowhere such mapping is specified. I expected something likeTomcat's
server.xml, where in docbase we clearly specify this mapping betweenthe context
path and the physical directory. Please help. -
Web app context file in java web server?
I'm being forced to move an application from Tomcat 5.5 to Web Server 6.1. I'm used to putting my app's context information into a context xml file that in Tomcat 5.5 is deployedin in $tomcat_home/conf/Catalina/localhost/. I define my jdbc connection pool there, as well as environment entries for the application. That way I can use the same war file, but run the application with different configuration settings.
It doesn't seem like Web Server 6.1 supports that, or am I missing something in the documentation. I thought the notion of the context file was generic to the servlet container spec even in the 2.3 servlet spec....but maybe that's specific to Tomcat. So now how can I pass environment information to the application?The SJS webserver does not support context.xml, you are correct.
However, most of the things done in context.xml can be done through other ways.
JDBC conncetion pools are global to the server instance, and are declared in server.xml
http://docs.sun.com/source/819-0130/agapuirf15.html#wp297682
The web apps descriptors allow to configure web apps parameters. In SJS webserver there are two descriptors, the standard web.xml, and sun-web.xml.
http://docs.sun.com/source/817-6251/pwadeply.html
Regarding passing environment information, what exactly do you have in mind? the web server supports JNDI resource-env-ref, that can be used to pass environment entries to a web-app.
If you have any particulars needs, or more specific questios, feel free to post them here. -
How do I change the context-root of a web app with a deployment plan?
I've been trying to figure this out for several hours.
I'm deploying a .ear file which sets the context root for the single web application it deploys in its application.xml deployment descriptor:
<application>
<display-name>MyApp</display-name>
<module>
<web>
<web-uri>MyAppViewControler.war</web-uri>
<context-root>MyApp</context-root>
</web>
</module>
</application>
I want to change the context-root from /MyApp to something else when deploying the ear file. It seemed to me that using a deployment plan was the way to do this. But when I use this plan:
<deployment-plan>
<application-name>MyApp<application-name>
<variable-definition>
<variable>
<name>NEWCONTEXTROOT</name>
<value>foobar</value>
</variable>
</variable-definition>
<module-override>
<module-name>MyApp</module-name>
<module-type>ear</module-type>
<module-descriptor external="false">
<root-element>application</root-element>
<uri>META-INF/application.xml</uri>
<variable-assignment>
<name>NEWCONTEXTROOT</name>
<xpath>/application/module/web/context-root</xpath>
</variable-assignment>
</module-descriptor>
</module-override>
</deployment-plan>
I get an error:
weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
/bea/user_projects/domains/devod1/nullplan.xml:0: problem: cvc-complex-type.2.4a: Expected element 'web-uri@http://java.sun.com/xml/ns/javaee' instead of 'context-root@http://java.sun.com/xml/ns/javaee' here in element web@http://java.sun.com/xml/ns/javaee:<nullplan.xml>
I looked at http://e-docs.bea.com/wls/docs103/pdf/deployment.pdf which says:
"You cannot use a deployment plan to change the context-root in an application.xml
file. However, if an application is deployed as a library, you can either change the
context-root through an weblogic-application.xml file or use the deployment plan
to change the context-root in an weblogic-application.xml file."
I don't understand what this means. I'm not deploying my application as a library.
Does anyone know how to change the context-root for an application?
Any help would be greatly appreciated!Hi James,
I am quite new to Welogic if i am wrong please correct me.I have re-deployed my application (.war) with this Plan.xml
<?xml version='1.0' encoding='UTF-8'?>
<deployment-plan xmlns="http://www.bea.com/ns/weblogic/deployment-plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/deployment-plan http://www.bea.com/ns/weblogic/deployment-plan/1.0/deployment-plan.xsd" global-variables="false">
<application-name>BrowserR08.003</application-name>
*<variable-definition>*
* <variable>*
* <name>CONTEXTROOT</name>*
* <value>BrowserWeb/servlet/BrowserServlet</value>*
* </variable>*
* </variable-definition>*
<module-override>
<module-name>BrowserWeb.war</module-name>
<module-type>war</module-type>
<module-descriptor external="true">
<root-element>weblogic-web-app</root-element>
<uri>WEB-INF/weblogic.xml</uri>
<hash-code>1231953167814</hash-code>
*<variable-assignment>*
* <name>CONTEXTROOT</name>*
* <xpath>/weblogic-web-app/context-root</xpath>*
* <operation>add</operation>*
* </variable-assignment>*
</module-descriptor>
<module-descriptor external="false">
<root-element>web-app</root-element>
<uri>WEB-INF/web.xml</uri>
</module-descriptor>
<module-descriptor external="true">
<root-element>wldf-resource</root-element>
<uri>META-INF/weblogic-diagnostics.xml</uri>
</module-descriptor>
</module-override>
<config-root>/export/home1/tecapp/BrowserR08.003/plan</config-root>
</deployment-plan>
I do not know wether i will require the other module descriptor definition in this Plzn.xml. Now when I go to following link.
Deployments --> MyApp --> Testing
It gives me following url as a test page:
http://localhost:7001/BrowserWeb/servlet/BrowserServlet
as soon as i click on to the above link it redirects me to following.
http://localhost:7001/BrowserWeb/servlet/BrowserServlet/servlet/BrowserServlet
Same if i remove these context-root part my normal Testing menu shows me following link as my webapp access path
http://localhost:7001/BrowserWeb <-- My war file name is BrowserWeb.war so it is default name of my deployed application if i am not wrong
and as soon as i click on above link it redirects me to the following one.
http://localhost:7001/BrowserWeb/servlet/BrowserServlet
It means application server know that my full web access page is with '*servlet/BrowserServlet*' because its adding it in both the cases.
What I want is a constant URL whcih does not change?
Hope this helps :) -
Problem on web app using root context in weblogic 7.0.2
I got problem on servlet which running on root context "/" in weblogic 7.0.2. I have remove the default web app (which use the root context) before the web app. The web application was deployed without any error. However, when the servlet run to the line calling HttpSession.setAttribute, the following exception occurs. The weblogic server is running on Solaris 8. anyone can help?
java.lang.IllegalStateException: Internal Servlet Session Process Error Found!
at weblogic.servlet.internal.session.SessionData.checkProcess(SessionData.java:1045)
at weblogic.servlet.internal.session.SessionData.setAttribute(SessionData.java:477)
at com.chase.infra.appcontrol.servlet.LoginServlet.doPostHK(Unknown Source)
at com.chase.infra.appcontrol.servlet.LoginServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:20)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5451)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
The weblogic.xml is
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app
PUBLIC "-//BEA Systems, Inc.//DTD Web Application 7.0//EN"
"http://www.bea.com/servers/wls700/dtd/weblogic700-web-jar.dtd" >
<weblogic-web-app>
<context-root>/</context-root>
</weblogic-web-app>Hie,
We are facing the same problem; i.e. we are getting the same error message when we are trying to run our struts application on Weblogic 7.0.5 using JDK 1.3.1. This problem occured particularly when we tried to do a load testing using approx 20 concurrent users (a lesser load was supported though). Can you please let us know how this problem was sorted out on your end?
thanks,
Debanjan -
Tomcat: order of web-app loading
Hi folks,
does anybody know on which order Tomcat loads its web-apps ?
I need a particular web-app loaded before all other web-apps.
Is there a way to sepecify the loading sequence in Tomcat?
Regards,
Peter MenzelTry explicitly declaring the web app contexts in the conf/server.xml file in the order that you want them to start.
-
Weblogic 8.1 error on deploying web app - Cannot find taglib declaration
I am using netbeans 6.5.1. The java EE Version is configured to J2EE 1.3 and JDK version is 1.4.2 for the project.
The application server is WebLogic 8.1.
On deploying get the error "ServletContext(id=18276115,name=WebApplication3,context-path=/)]: Deployment descriptor "jar:file:<file path>/.wlnotdelete/extract/EdcSrv1_WebApplication3_WebApplication3/jarfiles/WEB-INF/lib/standard.jar!/META-INF/c.tld" is malformed. Check against the DTD: cvc-elt.1: Cannot find the declaration of element 'taglib'. (line 6, column 19)"
The same error is repeated for x.tld, fn.tld, fmt.tld, scriptfree.tld, sql.ltd
Checked web.xml file and does not have any taglib tags.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param> ....will post the entire file if required.
do i need to manually add the taglib tags?
Any suggestions?
Thanks.I am using netbeans 6.5.1. The java EE Version is configured to J2EE 1.3 and JDK version is 1.4.2 for the project.
The application server is WebLogic 8.1.
On deploying get the error "ServletContext(id=18276115,name=WebApplication3,context-path=/)]: Deployment descriptor "jar:file:<file path>/.wlnotdelete/extract/EdcSrv1_WebApplication3_WebApplication3/jarfiles/WEB-INF/lib/standard.jar!/META-INF/c.tld" is malformed. Check against the DTD: cvc-elt.1: Cannot find the declaration of element 'taglib'. (line 6, column 19)"
The same error is repeated for x.tld, fn.tld, fmt.tld, scriptfree.tld, sql.ltd
Checked web.xml file and does not have any taglib tags.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param> ....will post the entire file if required.
do i need to manually add the taglib tags?
Any suggestions?
Thanks. -
Access custom variable value in web.xml context-param?
My requirement or need is to access a variable value either in a class in my Model project or a backing bean in my View project. For example, one variable I need to access is an application server I am integrating with - 'testserver' or 'productionserver' - I want to be able to configure this within an external file so that I do not have to re-compile my application to change the variable.
I was thinking about placing this variable in the web.xml <context-param> section as:
<context-param>
<param-name>servername</param-name>
<param-value>testserver</param-value>
</context-param>
I need to access this value within a class (not a servlet) on an Application Module service method, though if needed, I could access it from a backing bean and pass it to the service method (less desirable.) Is this a good approach and how do access this variable from within a Java class including any imports I need to do (code example)?
Thanks and Happy New Year!
Hopefully most everyone is out spending time with friends and family versus stuck trying to complete a project like me...I found an example from SRDemo that provides what I was looking for:
String serverhostaddress =
FacesContext.getCurrentInstance().getExternalContext().getInitParameter("param-name-var-in-webxml"); -
How to get the physical path of my web app root context ?
Hi,
I used this code to initialize my LOG4J logger.
System.out.println(Version + "Servlet context path : " + sctx .getContextPath());
String path = sctx .getRealPath("/");
fullyqualifiedlog4jpath = path + "log4j.xml";
File locallogxml = new File(fullyqualifiedlog4jpath);
if (locallogxml.exists()) {
initialized = true;
DOMConfigurator.configure(fullyqualifiedlog4jpath);
log = Logger.getLogger(Log4j.class.getName());
log.info(Version + "Logger initialized");
else {
System.out.println(Version + "Unable to locate the log4j.xml file");
}It works perfectly when running the application with the embedded Jdev11 WLS.
When deploying the application on a standalone WLS server the path is not returned ;-( I get a null value.
Does someone has three lines of code which get the physical path of my web app root context?
YvesChanged the methiod used to access log4j.xml.
FacesContext ctx = FacesContext.getCurrentInstance();
ServletContext sctx = (ServletContext) ctx.getExternalContext().getContext();
String contextPath = sctx.getContextPath();
HttpServletRequest hsr = (HttpServletRequest)ctx.getExternalContext().getRequest();
String host = hsr.getServerName();
int port = hsr.getServerPort();
try
String urlstring = "http://" + host + ":" + port + contextPath + "/faces/log4j.xml";
DOMConfigurator.configure(new URL(urlstring));
log = Logger.getLogger(Log4j.class.getName());
.....using the URL s OK. -
Help using JMX to Get Context of Deployed Web Apps
I think this question is more of a JMX question that anything else (like a JNDI question), so I am posting here. If anyone feels this should be posted elsewhere, please let me know.
I want to be able to get a handle to each deployed web app's context, so that I may get a BasicDataSource from it, then look at the connection attributes inside of that BasicDataSource, i.e., Number of active connections, number of idle connections, etc. for each deployed web app.
This is the path I am heading down (if there is another way, please let me know). The code below is inside of a JSP running inside of a web app within my Tomcat 5.0.16 server, running JDK 1.4.2.
Here is the entire JSP...
<%@ page import="org.apache.commons.dbcp.BasicDataSource,
javax.naming.InitialContext,
javax.naming.Context,
javax.management.ObjectName,
javax.management.MBeanServer,
java.util.Set,
org.apache.catalina.mbeans.MBeanUtils,
java.util.Iterator,
javax.management.ObjectInstance,
org.apache.catalina.core.StandardContext"%>
<html>
<head>
<meta http-equiv="refresh" content="3"> <!-- refresh every 3 seconds -->
</head>
<body>
<%
//InitialContext ctx = new InitialContext();
//Context envCtx = (Context) ctx.lookup("java:comp/env");
String dsName = "";//"jdbc/raptor";
String appName = "";//(String) envCtx.lookup("appName");
BasicDataSource ds = null;//(BasicDataSource) envCtx.lookup(dsName);
MBeanServer mBeanServer = MBeanUtils.createServer();
ObjectName oname = new ObjectName("*:j2eeType=WebModule,*");
Set contexts = mBeanServer.queryMBeans(oname, null);
Iterator it = contexts.iterator();
while(it.hasNext()) {
ObjectInstance oi = (ObjectInstance)it.next();
ObjectName cname = oi.getObjectName();
System.out.println(">>> cname = " + cname.toString()); // this prints something like this: Catalina:j2eeType=WebModule,name=//localhost/accesstracker,J2EEApplication=none,J2EEServer=none
Is this the right way to do this??? I seem to be getting the web app, I just want to be able to
get a handle to that web app's context, get a BasicDataSource from it, then look at the connection
attributes inside of that BasicDataSource, i.e., Number of active connections, number of idle
connections, etc. for each deployed web app
//javax.naming.Context iCtx = (javax.naming.Context) mBeanServer.invoke(cname, "findStaticResources", null, null); // will this do it???
Object obj = new InitialContext().lookup("java:comp/env"); // this only gets the current context (the web app I'm currently in)
if(obj != null){
Context envCtx = (Context) obj;
appName = (String) envCtx.lookup("appName");
ds = (BasicDataSource) envCtx.lookup("jdbc/raptor");
}else{
System.out.println("obj is null");
%> <%=cname.toString()%><br/>
Application name: <%=appName%><br/>
Number of Active Connections = <%=ds.getNumActive()%>
<br/>
Number of Idle Connections = <%=ds.getNumIdle()%>
<br/>
Initial Size of Pool = <%=ds.getInitialSize()%>
<br/>
Maximum Number of Active Connections = <%=ds.getMaxActive()%>
<br/>
<%
%>
</body>
</html>The above JSP will output all of the info for each deployed web app, however, when it gets to getting the Context of the web app, it simply outputs information repeatedly for the web app this JSP is in (which makes sense since I'm using InitialContext).
I appreciate any help anyone could provide.
Thank youIf you want your application to work only with specific JRE version, you should use static versioning. I installed JRE 1.3.1_15 and JRE 5.0U5 , both of them works successfully. I used the below syntax to load applets:
for 1.3.1_15:
<object
classid = "clsid:CAFEEFAC-0013-0001-0015-ABCDEFFEDCBA"
codebase = "http://java.sun.com/products/plugin/autodl/jinstall-1_3_1_15-windows-i586.cab#Version=1,3,1,15"
WIDTH = 150 HEIGHT = 25 >
<PARAM NAME = CODE VALUE = "HelloWorld.class" >
<param name = "type" value = "application/x-java-applet;jpi-version=1.3.1_15">
<param name = "scriptable" value = "false">
<comment>
<embed
type = "application/x-java-applet;jpi-version=1.3.1_15" \
CODE = "HelloWorld.class" \
WIDTH = 150 \
HEIGHT = 25
scriptable = false
pluginspage = "http://java.sun.com/products/plugin/index.html#download">
<noembed>
</noembed>
</embed>
</comment>
</object>for 5.0U5
<object
classid = "clsid:CAFEEFAC-0015-0000-0005-ABCDEFFEDCBA"
codebase = "http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,5"
WIDTH = 150 HEIGHT = 25 >
<PARAM NAME = CODE VALUE = "HelloWorld.class" >
<param name = "type" value = "application/x-java-applet;jpi-version=1.5.0_05">
<param name = "scriptable" value = "false">
<comment>
<embed
type = "application/x-java-applet;jpi-version=1.5.0_05" \
CODE = "HelloWorld.class" \
WIDTH = 150 \
HEIGHT = 25
scriptable = false
pluginspage = "http://java.sun.com/products/plugin/index.html#download">
<noembed>
</noembed>
</embed>
</comment>
</object>- Mike -
Unable to run Web App for the 2nd Time
Hi,
I am using Weblogic 8.1 sp5 as my deploying platform. Using the official tutorials, I am able to export my JSC2 web app into a WAR file that is deployable on my Weblogic server.
Upon running the application, it works perfectly. However, upon closing my browser and then restarting the browser, running the web app again yields exceptions, please refer to the bottom.
What am I doing wrong? I am suspecting the web-app wasn't detroyed properly when another instances of it is started...
Please advise.
Adams
Error 500--Internal Server Error
com.sun.rave.web.ui.appbase.ApplicationException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s).
at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.destroy(Ljavax/faces/context/FacesContext;)V(ViewHandlerImpl.java:601)
at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(Ljavax/faces/context/FacesContext;Ljavax/faces/component/UIViewRoot;)V(ViewHandlerImpl.java:316)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(Ljavax/faces/context/FacesContext;)V(RenderResponsePhase.java:87)
at com.sun.faces.lifecycle.LifecycleImpl.phase(Ljavax/faces/event/PhaseId;Lcom/sun/faces/lifecycle/Phase;Ljavax/faces/context/FacesContext;)V(LifecycleImpl.java:221)
at com.sun.faces.lifecycle.LifecycleImpl.render(Ljavax/faces/context/FacesContext;)V(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(FacesServlet.java:198)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V(ServletStubImpl.java:465)
at weblogic.servlet.internal.TailFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(FilterChainImpl.java:27)
at com.sun.rave.web.ui.util.UploadFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(UploadFilter.java:194)
at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(RequestDispatcherImpl.java:326)
at weblogic.servlet.jsp.PageContextImpl.forward(Ljava/lang/String;)V(PageContextImpl.java:150)
at jsp_servlet.__jscreator_index._jspService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(__jscreator_index.java:122)
at weblogic.servlet.jsp.JspBase.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava/lang/Object;(WebAppServletContext.java:6985)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponseImpl;)V(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic/kernel/ExecuteThread;)V(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)
at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Source)
Caused by: java.lang.RuntimeException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s).
at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorRow(Lcom/sun/data/provider/RowKey;)V(CachedRowSetDataProvider.java:343)
at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorIndex(I)Z(CachedRowSetDataProvider.java:300)
at com.sun.data.provider.impl.CachedRowSetDataProvider.getRowCount()I(CachedRowSetDataProvider.java:624)
at com.sun.rave.web.ui.component.TableRowGroup.getRowKeys()[Lcom/sun/data/provider/RowKey;(TableRowGroup.java:806)
at com.sun.rave.web.ui.component.TableRowGroup.getFilteredRowKeys()[Lcom/sun/data/provider/RowKey;(TableRowGroup.java:429)
at com.sun.rave.web.ui.component.TableRowGroup.getRowCount()I(TableRowGroup.java:749)
at com.sun.rave.web.ui.component.Table.getRowCount()I(Table.java:307)
at com.sun.rave.web.ui.component.Table.getTableActionsTop()Ljavax/faces/component/UIComponent;(Table.java:539)
at com.sun.rave.web.ui.renderer.TableRenderer.renderActionsTop(Ljavax/faces/context/FacesContext;Lcom/sun/rave/web/ui/component/Table;Ljavax/faces/context/ResponseWriter;)V(TableRenderer.java:257)
at com.sun.rave.web.ui.renderer.TableRenderer.encodeBegin(Ljavax/faces/context/FacesContext;Ljavax/faces/component/UIComponent;)V(TableRenderer.java:124)
at javax.faces.component.UIComponentBase.encodeBegin(Ljavax/faces/context/FacesContext;)V(UIComponentBase.java:683)
at com.sun.rave.web.ui.component.Table.encodeBegin(Ljavax/faces/context/FacesContext;)V(Table.java:811)
at com.sun.rave.web.ui.util.RenderingUtilities.renderComponent(Ljavax/faces/component/UIComponent;Ljavax/faces/context/FacesContext;)V(RenderingUtilities.java:78)
at com.sun.rave.web.ui.renderer.AbstractRenderer.encodeChildren(Ljavax/faces/context/FacesContext;Ljavax/faces/component/UIComponent;)V(AbstractRenderer.java:194)
at javax.faces.component.UIComponentBase.encodeChildren(Ljavax/faces/context/FacesContext;)V(UIComponentBase.java:701)
at javax.faces.webapp.UIComponentTag.encodeChildren()V(UIComponentTag.java:607)
at javax.faces.webapp.UIComponentTag.doEndTag()I(UIComponentTag.java:544)
at jsp_servlet.__vesselsmovements._jspService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(__vesselsmovements.java:1060)
at weblogic.servlet.jsp.JspBase.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ServletStubImpl.java:348)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(RequestDispatcherImpl.java:328)
at com.sun.faces.context.ExternalContextImpl.dispatch(Ljava/lang/String;)V(ExternalContextImpl.java:322)
at com.sun.faces.application.ViewHandlerImpl.renderView(Ljavax/faces/context/FacesContext;Ljavax/faces/component/UIViewRoot;)V(ViewHandlerImpl.java:130)
at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(Ljavax/faces/context/FacesContext;Ljavax/faces/component/UIViewRoot;)V(ViewHandlerImpl.java:311)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(Ljavax/faces/context/FacesContext;)V(RenderResponsePhase.java:87)
at com.sun.faces.lifecycle.LifecycleImpl.phase(Ljavax/faces/event/PhaseId;Lcom/sun/faces/lifecycle/Phase;Ljavax/faces/context/FacesContext;)V(LifecycleImpl.java:221)
at com.sun.faces.lifecycle.LifecycleImpl.render(Ljavax/faces/context/FacesContext;)V(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(FacesServlet.java:198)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V(ServletStubImpl.java:465)
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s).
at com.microsoft.jdbc.base.BaseExceptions.createException(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/SQLException;(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(ILjava/lang/String;)Ljava/sql/SQLException;(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.validateParameters(Lcom/microsoft/jdbc/base/BaseParameters;)V(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.validateParameters()V(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.preImplExecute()V(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute()V(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal()Ljava/sql/ResultSet;(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery()Ljava/sql/ResultSet;(Unknown Source)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery()Ljava/sql/ResultSet;(PreparedStatement.java:124)
at com.sun.sql.rowset.internal.CachedRowSetXReader.readData(Ljavax/sql/RowSetInternal;)V(CachedRowSetXReader.java:193)
at com.sun.sql.rowset.CachedRowSetXImpl.execute(Ljava/sql/Connection;)V(CachedRowSetXImpl.java:950)
at com.sun.sql.rowset.CachedRowSetXImpl.execute()V(CachedRowSetXImpl.java:1410)
at com.sun.data.provider.impl.CachedRowSetDataProvider.checkExecute()V(CachedRowSetDataProvider.java:1219)
at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorRow(Lcom/sun/data/provider/RowKey;)V(CachedRowSetDataProvider.java:329)
at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorIndex(I)Z(CachedRowSetDataProvider.java:300)
at com.sun.data.provider.impl.CachedRowSetDataProvider.getRowCount()I(CachedRowSetDataProvider.java:624)
at com.sun.rave.web.ui.component.TableRowGroup.getRowKeys()[Lcom/sun/data/provider/RowKey;(TableRowGroup.java:806)
at com.sun.rave.web.ui.component.TableRowGroup.getFilteredRowKeys()[Lcom/sun/data/provider/RowKey;(TableRowGroup.java:429)
at com.sun.rave.web.ui.component.TableRowGroup.getRowCount()I(TableRowGroup.java:749)
at com.sun.rave.web.ui.component.Table.getRowCount()I(Table.java:307)
at com.sun.rave.web.ui.component.Table.getTableActionsTop()Ljavax/faces/component/UIComponent;(Table.java:539)
at com.sun.rave.web.ui.renderer.TableRenderer.renderActionsTop(Ljavax/faces/context/FacesContext;Lcom/sun/rave/web/ui/component/Table;Ljavax/faces/context/ResponseWriter;)V(TableRenderer.java:257)
at com.sun.rave.web.ui.renderer.TableRenderer.encodeBegin(Ljavax/faces/context/FacesContext;Ljavax/faces/component/UIComponent;)V(TableRenderer.java:124)
at javax.faces.component.UIComponentBase.encodeBegin(Ljavax/faces/context/FacesContext;)V(UIComponentBase.java:683)
at com.sun.rave.web.ui.component.Table.encodeBegin(Ljavax/faces/context/FacesContext;)V(Table.java:811)
at com.sun.rave.web.ui.util.RenderingUtilities.renderComponent(Ljavax/faces/component/UIComponent;Ljavax/faces/context/FacesContext;)V(RenderingUtilities.java:78)
at com.sun.rave.web.ui.renderer.AbstractRenderer.encodeChildren(Ljavax/faces/context/FacesContext;Ljavax/faces/component/UIComponent;)V(AbstractRenderer.java:194)
at javax.faces.component.UIComponentBase.encodeChildren(Ljavax/faces/context/FacesContext;)V(UIComponentBase.java:701)
at javax.faces.webapp.UIComponentTag.encodeChildren()V(UIComponentTag.java:607)
at javax.faces.webapp.UIComponentTag.doEndTag()I(UIComponentTag.java:544)
at jsp_servlet.__vesselsmovements._jspService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(__vesselsmovements.java:1060)
at weblogic.servlet.jsp.JspBase.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(JspBase.java:33)Well, I have solve this problem myself.. apparently, I used static variables to initalise the app. Changing the static variables to session variables solved the problems.
-
How to refer to JNDI PROVIDER_URL from within Tomcat Web app
Can anyone provide a clear description on how to refer to a "Provider_URL" relative to the web application root for which a Java Class resides within? My issue is as follows. I've looked through the JNDI tutorial and the Tomcat JNDI How-To's and I'm still unable to find a solution.
I'll elaborate:
I have a "PROVIDER_URL" class variable defined as:
private String PROVIDER_URL = "file:/C:/development/MyProject/MyWebApplication/WEB-INF/properties";I initialize my JNDI context within the class:
Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
properties.setProperty(Context.PROVIDER_URL, PROVIDER_URL);
context = new InitialContext(properties);
cpds = (ConnectionPoolDataSource) context.lookup(baseName);
...The above example works fine. My question is given my web app's directory, how do I refer to "MyWebApplication/WEB-INF/properties" in a relative manner so that if I move my web application to a different server, the directory path does not affect my deployment and I dont have to hardcode the current path? Does this need to occur in the "server.xml" file? Can you provide a URL to an example?
Your suggestions are appreciated...thanks.try to give
http://localhost:8080
or the app server based port address. -
How can I use more than one Data Provider in my web Apps
I am trying to use two different data provider in my web apps to run two different queries from the same table ,the data provider A is working correctly but when I attempt to run data provider B ,It display an error page ,here is the error message : Exception Details :javax.servlet.ServletEx ception
java.lang.RuntimeException: java.sql.SQLException : Cannot connect .Both dataSourceName and url properties are null.Hi,
You can use more than one data provider in your application. However if you have defined a dataprovider for a particular table already, and wish to bind a component, select the component and use its context menu to Bind to Data... -
Exchange Office Web Apps Preview Does not work in OWA (web)
I have setup Exchange 2013, Lync 2013, SharePoint 2013, IIS as a Reverse Proxy Server, an Office Web Apps Server, etc, etc. Everything is setup to use SSl (https) and everything works great EXCEPT... Office Web Apps... and ONLY via Exchange and OWA (exchange
browser-based access).
I can login via the intranet or Internet for everything (SharePoint, Outlook, and Lync) and Office Web apps functionality works flawlessly for all... except for Exchange and OWA.
If I login in to a web-based Exchange seeion, everything works right and I can see the various attachments.
For all other scenarios, Office Web Apps works (SharePoint, Outlook, Lync, etc), but in owa (web version of Outlook) I see that Office Web Apps is triggered (I see the Office Web Apps text and the dots that indicate something is loading)... However, it just
crashes and eventually times out (see image):
If I look in the error logs for the Web Apps Server I see this:
Essentially, it looks like that owa uses a distinctly different path to load the attachments into the Web Apps Server such that the file is not found!
What is happening? Why does Exchange OWA (web version of Outlook) somehow use a different path that fails to locate attachments in Office Web Apps, but Lync, Outlook, and SharePoint (both in Intranet and Internet) work perfectly?
This is VERY frustrating. Can anyone help?
Please?
Clearly, the reverse proxy is working, the certificates are working, OAuth is working, etc. It seems there must be some variable/path that is only defined in Exchange for OWA that uses a different path for Office Web App attachments and that path is WRONG!
Please, help!
ThanksHi,
Thanks for sharing. It’s glad to hear the good news.
Thanks,
If you have feedback for TechNet Subscriber Support, contact
[email protected]
Simon Wu
TechNet Community Support -
How to change web-app display name within EAR file?
Currently we are deploying an EAR file (which contains a web-app and an EJB) per
BEA recommendations. The web-app shows up on the admin console with '/' as the
name. Is there anyway to change this to the name I want?
thx,
MattFYI - here is the entire content of applicaiton.xml in the EAR file we deploy:
<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application
1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'>
<application>
<display-name>RVApp</display-name>
<module>
<ejb>RVTrackingBean</ejb>
</module>
<module>
<web>
<web-uri>RVWebApp</web-uri>
<context-root>/</context-root>
</web>
</module>
</application>
"Erik Johnson" <[email protected]> wrote:
>
No, you can't change that in the console. It's defined in the application's
application.xml
descriptor file.
erik
"Matt Savino" <[email protected]> wrote:
Currently we are deploying an EAR file (which contains a web-app and
an EJB) per
BEA recommendations. The web-app shows up on the admin console with'/'
as the
name. Is there anyway to change this to the name I want?
thx,
Matt
Maybe you are looking for
-
Laptop shuts down when trying to connect
Bought a WRT110, installed software, and everytime the router and the wi-fi on my laptop are turned on, the laptop shuts down and restarts. Anybody have this problem before?
-
Purchase Order Text Object missing in Transcation VOTXN
Hi Experts I want Purchase Order Text Object in Transction VOTXN, for that Referring SAP Note 75144 - EKKO EKPO entries should be in table TFRM, if these two entries are missing, using the solution contained in Note 524453 to generate the missing ent
-
My music is not playing, i have purchased onto my iPhone and now it will not play :-(
-
My options when I bounce are: pcm mp3 aac burn cd Is there a way to bounce as a wav file?
-
Xcode 4.1 won't refactor C++
Hi, I'm using the latest version of XCode in Lion. I have some C++ code and want to rename a function. Right clicking on the name brings up a menu with the "refactor" option. Howver, when I select "refactor", I get a dialog box telling me that XCo