Web.xml editor in JDeveloper still buggy

I had experience with JDeveloper 9.0.4, that the web.xml editor was buggy: specifically, when editing security constraints, it mangled up the contents, so I got to the practice to edit it only manually.
Now, after migrating to 10.1.3, I tried it again with new Servlet 2.4 format, which I am not familiar with, and it is buggy again: at least when editing dispatcher type at filter mappings: I have two filters, one is mapped to all REQUEST, FORWARD and INCLUDE, the other to none (this means it is mapped to REQUEST only). When I opened this web.xml in the editor and first clicked on the first mapping, checkboxes were ok, then I clicked to the other, and checkboxes stayed checked. It seems, that they don't uncheck, when you display another mapping which does not use them.
Now, I will again prefer to edit manually, because I just don't trust the editor :-(
Viliam

1. Create web.xml with this filter-mappings:
  <filter-mapping>
    <filter-name>ReadFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
  </filter-mapping>
  <filter-mapping>
    <filter-name>SessionExpiryFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
  </filter-mapping>2. right-click web.xml and select Properties
3. click Filter Mappings
4. click on ReadFilter, dispatcher type below is displayed correctly
5. click on SessionExpiryFilter, three checkboxes stay checked incorrectly
It's in Studio Edition Version 10.1.3.0.4 (SU2)
Viliam

Similar Messages

  • Using security-constraint in web.xml; not recognizing url-pattern tag

    I am creating a very simple jsp application within JDeveloper 10.1.3.1. I have 2 jsp files...a readData.jsp and a maintainData.jsp. I would like to deploy this application to Oracle Application Server 10.1.2.2. I would like to use Oracle Internet Directory with Single Sign on enabled. The deployment to OAS works fine. For the security, I would like an administrator user to get to both pages...and a user to only be able to see the readData.jsp. I used the security constraints on the properties of the web.xml file within JDeveloper. Here is my web.xml file:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!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>
    <description>Empty web.xml file for Web Application</description>
    <session-config>
    <session-timeout>35</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>adm_full_access</web-resource-name>
    <url-pattern>*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>adm_all</role-name>
    </auth-constraint>
    </security-constraint>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>usr_access</web-resource-name>
    <url-pattern>readData.jsp</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>usr_all</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>BASIC</auth-method>
    </login-config>
    <security-role>
    <role-name>usr_all</role-name>
    </security-role>
    <security-role>
    <role-name>adm_all</role-name>
    </security-role>
    </web-app>
    When I deploy to OAS I added an OID account to the adm_all role...this works fine I can log on as that user and get to both jsps. But, when I add my user to the usr_all role within OAS I try to log on to the app...I then enter my SSO username and password and I get Access Denied errors from my browser when trying to access either page. I am confused about the <url-pattern> tag...is that relative to a directory within my deployment? Most of the examples I have seen use servlets...so I was wondering if I can even use the <url-pattern> tag to restrict/allow access to individual jsps? If someone could point me to some documentation on this set-up I would appreciate it!
    Thank you.

    I was able to get this to work. By doing the following:
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>adm_full_access</web-resource-name>
    <url-pattern>*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>adm_all</role-name>
    </auth-constraint>
    </security-constraint>
    I was restricting access to all other groups by uisng <url-pattern>*</url-pattern>. Any other security-constraints set-up after that will not work. So saying * requires usr_all will restrict ALL webpages to ONLY adm_all, regardless of what future constraints say. So, my first security-constraints lists all directories or pages that every user can access. My next security-constraint then list resources that only my admins (adm_all) can acess. Any other security constraints then are set-up for each user role that I have...if adm_all should have access to these then the <role-name>adm_all</role-name> is added to each security constraint.

  • Eclipse editor gives error for web.xml for jsp-config

    Hi All,
    I am using following web.xml . Eclipse europa editor gives warning if <jsp-config> is added. Is anyone have idea about it.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <web-app>     
         <display-name>Cart</display-name>               
         <servlet>
    <servlet-name>RequestHandler</servlet-name>
    <servlet-class>com.amazon.helper.LoginListener</servlet-class>
    </servlet>      
         <servlet-mapping>
    <servlet-name>RequestHandler</servlet-name>
    <url-pattern>cart.loginUser</url-pattern>
    </servlet-mapping>
    <jsp-config>
         <jsp-property-group>
         <url-pattern>*.jsp</url-pattern>
                   <scripting-invalid>true</scripting-invalid>
         </jsp-property-group>
    </jsp-config>
    </web-app>

    Your web.xml file is out of date.
    You have a DTD there for the Servlet 2.2 spec.
    The jsp-config tag was introduced to web.xml as of the Servlet 2.4 specification - which is why it is complaining in your editor.
    Seeing as you have Tomcat 6, I would recommend you change your web.xml to look like this
    - removed the DTD
    - change the web-app tag to include schema information
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
    <display-name>Cart</display-name>
    <servlet>
    <servlet-name>RequestHandler</servlet-name>
    <servlet-class>com.amazon.helper.LoginListener</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>RequestHandler</servlet-name>
    <url-pattern>cart.loginUser</url-pattern>
    </servlet-mapping>
    <jsp-config>
    <jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <scripting-invalid>true</scripting-invalid>
    </jsp-property-group>
    </jsp-config>
    </web-app>Cheers,
    evnafets

  • Web.xml  configured correctly(I think),  but still getting '404...resource

    not found error' from tomcat. Here is my web.xml:
    <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>HelloServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>HelloServlet2</servlet-name>
    <servlet-class>coreservlets.HelloServlet2</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/classes/HelloServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>HelloServlet2</servlet-name>
    <url-pattern>/classes/coreservlets.HelloServlet2</url-pattern>
    </servlet-mapping>
    </web-app>
    when I went to the following urls after I had edited web.xml to the above,
    http://localhost:8080/cucoweb/classes/coreservlets.HelloServlet2
    http://localhost:8080/cucoweb/classes/HelloServlet
    I go the expected results, ie, 'Hello(2)' and 'Hello'. Then I shutdown tomcat and restarted it.
    And when i tried to access those 2 urls again, I got the above error.
    (Actually I had the same web.xml before except that it didnt have the /classes in front in the
    url-pattern. I was able to access it by the same url - without the /classes - and then the next day
    when started tomcat and tried to access it, it didnt work, same error.)
    In this example, cucoweb is the context root, correct ? Shouldn't the url-pattern be relative to the
    context root ? Thats how I have it now, I think.
    Would adding my webapp directory, ie cucoweb/classes, to my CLASSPATH help ?
    I'm in ubuntu, when I do echo $CLASSPATH, I get :
    .:/usr/lib/jvm/java-6-sun-1.6.0.00/lib:/usr/lib/jvm/java-6-sun-1.6.0.00/imq/lib/:/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib
    I havent tried this yet because doing this is kind of tricky in ubuntu. (You have etc/environment and
    bash.bashrc, for ex.) But if I try that and it works I will post about it. I suspect its something else,
    though, because it worked once, before restarting tomcat, thats why I'm posting here first.
    Any info, even educated guesses, would be greatly appreciated. Thanks in advance.

    Thanks for the reply. Here is my web structure :
    /usr/local/tomcat/apache-tomcat-6.0.14/webapps/cucoweb/WEB-INF/classes
    From my understanding you are supposed to have your own webapp deployment directory
    under webapps, ie, cucoweb, and not use webapps/ROOT. (I'm not sure what /ROOT is even for)
    My web.xml is in WEB-INF. My /classes directory contains HelloServlet.class and a directory
    called coreservlets which contains HelloServlet2.class.
    I'm not sure what you mean by 'better you to delete under tomcat/work/catalina/localhost folder'.
    Can you please clarify ?
    FYI, my work/catalina/localhost contains the following :
    cucoweb docs examples host-manager manager
    Here cucoweb just contains a SESSIONS.ser file. Are you saying i should delete that ?

  • Console WAR deployment editor tool damage my web.xml file

    I put many servlet and servlet-mapping items in web.xml file. When I deployed my
    web app into weblogic 7.0 SP1 server, I use the console to open the deployment
    description, and change some parameters for the servlet. After I clicked the persist
    button, the web.xml file was changed, but some servlet and servlet-mapping items
    was removed unexpected.
    Why?
    When I start the server in Development mode, this error occured rather often.
    In the product mode, this error occured a few times.
    My operation steps:
    1. undeploy the original app from console
    2. copy the new war file to the applications directory, overwrite the old one
    3. use the console to open the deployment description, make the changes
    4. persist the changes
    5. re-deploy the web app
    Please give the solution as soon as possible

    The tag
    <target name="deploy" depends="clover-yes, clover-no">...is never closed.
    close that tag:
    <target name="deploy" depends="clover-yes, clover-no">
         <javac srcdir="${src.dir}" destdir="${classes.dir}" classpath="${libs}" debug="off" optimize="on" deprecation="on" compiler="${compiler}">
              <include name="org/apache/commons/fileupload/**/*.java" />
              <include name="com/portalbook/portlets/**/*.java" />
              <include name="com/portalbook/portlets/content/**/*.java" />
         </javac>
    </target>Second error is that the depends in there (clover-yes, clover-no) are not existing as targets in your xml.

  • Orion-web.xml -- web-app-class-loader

    Hi all, I posted this in the jDeveloper section and someone suggested that I ask you guys what the importance of the orion-web.xml file is. Currently my files looks like ...
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE orion-web-app PUBLIC "-//Evermind//DTD Orion Web Application 2.3//EN" "http://xmlns.oracle.com/ias/dtds/orion-web.dtd">
    <orion-web-app servlet-webdir="/servlet/">
    </orion-web-app>
    But it keeps adding the line that I mention below...
    I have a system that consists of multiple projects. When I deploy all projects they all work fine except for one. We discovered that this is due to the following line in the orion-web.xml file in that project ....
    <web-app-class-loader search-local-classes-first="true"/>
    I removed that line and everything is now fine. However, whenever I open up the application in jDev is puts that line back (even if I don't make changes).
    Is there a setting somewhere that is forcing this line to be put there and, if so, why? And how do I switch it off?
    Thanks,
    Russell

    Hey Steve,
    I must admit that this post confused me a bit.
    I can find no deployment plan editor. We have a WAR Deployment Profile, an EAR Deployment Profile and an EJB JAR Deplyment Profile.
    I use the debug functionality (using the embedded OC4J) to test the application locally during development and then deply the EAR Deployment Profile to an EAR file which then gets deployed using an Application Server.
    Further to this I have tried deleting the file (from everywhere), changing the EAR Deployment Properties and even changing the code within the ORION-WEB.XML to say <web-app-class-loader search-local-classes-first="false"/> all to no avail.
    If I remove the file completed, it add its back when I reopen the project. If I change it to false, it changes it back to True.
    Very confused I must admit.
    Thanks,
    Russell

  • Web.xml mapping not working

    I have a servlet located at com.conversion.web called leftNavReader.java
    I'm trying to access this servlet on my localhost with the following URL: http://localhost:8080/Conversion/start
    but I keep getting this error:
    HTTP Status 404 - /Conversion/start
    type Status report
    message /Conversion/start
    description The requested resource (/Conversion/start) is not available.
    Here is what my web.xml looks like:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
         <display-name>DataConversionWeb</display-name>
         <servlet>
              <servlet-name>start</servlet-name>
              <display-name>Start</display-name>
              <servlet-class>com.conversion.web.leftNavReader</servlet-class>
         </servlet>
         <servlet-mapping>
              <servlet-name>start</servlet-name>
              <url-pattern>/start</url-pattern>
         </servlet-mapping>
    </web-app>
    Does anyone have any idea why I'm getting this error?

    Since the spaces may cause problems and I have
    everything in the My Projects directory, I decide to
    just start from scratch. Very good.
    But... someone else
    installed eclipse for me and set that up, so I may
    need some help with that, not sure if you can help.As far as I know Eclipse can also be Unzipped to any folder, and
    theres a file called eclipse.exe , one would simply double click on that to invoke eclipse. I don't think you would have to re-install Eclipse.
    You could create a new project, and set
    C:\dev\projects\Conversion\ as your Eclipse Workspace .
    But lets put Eclipse on hold for now, we can still configure this whole project manually without Eclipse, which will help you understand what's going on under the hood. Also, in the beginning it's simpler to configure independent of the IDE.
    So I recommend that you save your work, uninstall
    Tomcat 6.0.x and re-install it on a path thatdoesn't
    have any spaces in it.
    For example:
    C:\dev\tomcat\ So I've uninstalled tomcat and re-installed in
    c:\dev\tomcat as recommended...Good, I assume that immediately under C:\dev\tomcat\ folder you see folders like bin, conf, webapps etc
    Assuming that Tomcat was Unzipped to the above
    folder. and there isn't another main folder underthe
    above folder, set you system envrionment variable
    CATALINA_HOME to the above folder.How do I do this?On MS Windows, click Start ---> Settings ----> Control Panel
    Look for System , --> Doubl Click on System -----> Click on the Advanced tab ----> then under the "System Variables" panel ------> Click on New button -------->
    in the Variable Name: type CATALINA_HOME
    in the Variable Value: type C:\dev\tomcat
    Then click Ok , that will set CATALINA_HOME to C:\dev\tomcat
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    There's a RUNNING.txt file under Tomcat's folderthat
    explains configuring it. Tomcat expects JAVA_HOMEto
    be set to your JDK's root folder . Again if JDK is
    installed on a path that has spaces then Irecommend
    installing it on a path with no spaces forexample:
    C:\dev\jdk\
    Similarly , follow the above steps to set JAVA_HOME to C:\dev\jdk
    Also, under System Variables you may see a variable called Path
    If it doesn't exist , then create a new one, if it already exists then add the following to the Path variable. (notice how the semi colon is used as a separater)
    ;%JAVA_HOME%/bin;%CATALINA_HOME%/bin;
    By setting the above you will be able to call
    java , javac and Tomcat's startup.bat and shutdown.bat from anywhere on the DOS Command line.
    >>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~I've moved the jdk to the director as recommended,
    but not sure hot to set the JAVA_HOME.See above...
    I haven't even gotten through the rest of your post
    yet, as I need to work on getting Eclipse set up
    again too Leave Eclipse for later ---- it will just complicate things for now.
    Once you have the project runnun under Tomcat we can figure out Eclipse.
    and I figure I might as well set up my
    "new" project using Virtual Hosts from the beginningLeave Virtual Host for later ------ it is easy to understand , I will explain it later , once you have the above basic set up running.
    and do this right... This is quite the learning
    experience ;)First , second and third time it is... but if you do this often, it will get much easier.

  • Client-cert auth impl in web.xml does not work in Oracle Application Server

    Hi,
    I am new to implementing security features on the web applications.. I have developed a new web service using jdev1012 and deployed in OAS 10.1.2. Its working fine according to the business requirements, but I am in need of implementing client-cert authentication to enable the web service available to only those who have client certificate.
    My server details are:
    Oracle Application Server 10g Release 2 (10.1.2)
    Server certificate is in place and SSL mode have been already enabled.. able to access my web service through https://<mydomain.com>/myws/TreqWS as well able to see the WSDL file through https://<mydomain.com>/myws/TreqWS?WSDL.
    I tried to include the following in my web.xml file as part of implementing CLIENT-CERT authentication.
    <security-constraint>
    <display-name>SecurityConstraint</display-name>
    <web-resource-collection>
    <web-resource-name>WSCollection</web-resource-name>
    <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
    <login-config>
    <auth-method>CLIENT-CERT</auth-method>
    <realm-name>WSCollection</realm-name> <!-- am not sure about this realm-name and its purpose -->
    </login-config>
    It is not woking as expected, though I have restarted my oc4j container after including this content to the web.xml file. i.e, I am able to invoke the web service though my sample java client program, though I donot have client certificate/keystore.
    I believe I am missing something..Can anyone help me in this regard to implement CLIENT-CERT authentication successfully?
    Thanks,
    Ms

    I am having the same problem with doc and xsl. I have added this
    <mime-mapping>
    <extension>xls</extension>
    <mime-type>application/vnd.ms-excel</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>doc</extension>
    <mime-type>application/msword</mime-type>
    </mime-mapping>
    to my web.xml. I even restarted the server. I still see doc and xsl in binary.
    Is there some other setting that needs to take place?
    I am using WL6.1 with fixpack 1.
    I can see the doc and excel files in the browser if I don't go through the weblogic
    server. That just confirms it's not my browser.
    Kumar Allamraju <[email protected]> wrote:
    <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
    <html>
    It works fine for me in 6.1 SP1.
    <br><br>
    If the following doesn't work , can you
    <br>try application/winword instead of application/msword?
    <p>--
    <br>Kumar
    <p>Siming Mu wrote:
    <blockquote TYPE=CITE>Hi,
    <p>I setup in my web.xml a mime mapping as follows,
    <p><mime-mapping>
    <br><extension>doc</extension><mime-type>application/msword</mime-type>
    <br></mime-mapping>
    <p>When I specify a test.doc url, the doc file appears in my browser
    as
    binary data
    <br>instead of download.
    <p>Please reference change request 055002, which decribes this problem. 
    According
    <br>to edocs, it has been fixed in wls6.1sp1.
    <p>But I am seeing it fixed.  Am I doing anything wrong? Thanks.
    <p>Siming</blockquote>
    </html>

  • How to chage the welcome file in web.xml using creator?

    Hi guys,
    I want to set the welcome file in web.xml to index.html but every time I run my project in creator, creator replaces index.html by faces/index.jsp. I need the index.html to check if the browser enables cookies & javascript and then I redirect to index.jsp. If I change the web.xml in a common editor, build the war-file with ant and deploy the project with tomcat, everything is fine. but how can I change it in creator?
    thanks in advance

    Sorry, that doesn't make much sense.
    The XML you gave is a configuration file for txt2xml utility. It doesn't represent the output format.
    Are you a user of this utility?

  • JDev 10.1.3 compile error in servlet 2.4 web.xml

    I built a Servlet 2.4/JSP 2.0 application in JDev 10.1.3. When I try to make/compile/deploy it the compiler gives me errors like the following for every JSP file that has a JSTL 1.1 taglib:
    Error(2,9): Element "web-app' used but not declared
    Error(2,63): Attribute 'xmlns:xsi' used but not declared
    Error(3,103): Attribute 'xsi:schemaLocation' used but not declared
    Error(4,16): Attribute 'version' used but not declared
    Error(4,56): Attribute 'xmlns' used but not declared
    Error(4,57): Can not build schema 'http://java.sun.com/xml/ns/j2ee' located at 'http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd'
    Error(5,15): Element 'description used but not declared
    It is obviously havng problems with the web.xml file (which is in the servlet 2.4 format) and is probably not finding the web.xml DTD document. How do I fix it?
    Installation is on Solaris 9 using J2SDK 1.4.2_04-b05
    By the way, this system is on a disconnected network. How do I get JDeveloper updates for a system not connected to the Internet?

    Allen,
    A JSP with web.xml web-app element
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
    runs in JDeveloper 10.1.3
    thanks,
    Deepak

  • Issue in running a 9i version Page XML in 10g JDeveloper

    Hi
    In our 11i to R12 upgrade project we are trying to run our custom 9i version Page XMLs in 10g JDeveloper. We imported the JPR itself in 10g Jdeveloper and it did conversion while loading. But when we tried to run the pages we are getting
    java.lang.NullPointerException
         at oracle.apps.fnd.framework.webui.OASlideMenuUtil.prepareNavAndFavList(Unknown Source) error.
    We found out that it is because of the missing "Navigation and Favorites options" that comes along with R12 version pages. We confirmed it by creating a new page in 10g Jdev and copy pasted all the regions from the old page to the new page. It is working fine. Now the doubt i have is,
    Wont 10g Jdev take care of this during the conversion of the Page XMLs and Java files? Or am i missing any big part here.
    Tried searching with keywords, tags but dint help. Kindly refer if you have any links or thoughts.
    Thanks,
    Praveen.

    This can be caused by the 'Function Name' attribute on the page layout region being NULL but with the XML tag still in the page XML i.e.:
    <oa:pageLayout id="PageLayoutRN" amDefName="xxjlp.oracle.apps.fnd.por.econtent.server.EContentAM" windowTitle="Portal Guidance Documents" title="Portal Guidance Documents" controllerClass="xxjlp.oracle.apps.fnd.por.econtent.webui.GuidanceDocSumCO" function="">
    Check the page you are forwarding to either has a valid value for 'Function Name' or ensure that this tag is removed from the page XML by clicking the 'Set to default' button on the component pallet toolbar.
    This is normally caused when a value was added by the developer then removed by highlighting the value and hitting delete.  This action keeps the tag in the XML file.  You should use the 'Set to default' button which will remove the tag completely.

  • Web.xml parsing error

    Hello,
    I am a newbie to servlet programming. I am using Tomcat4.1.24. When I
    am trying out some examples, I got a bunch of parsing errors. After double-checking my web.xml, I still do not see why it caused so many parsing errors. I am using NotePad to edit web.xml, does that affect this? These errors are always about the last line and the last column.
    Very weird. Please help.
    web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!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>
    <display-name>Welcome to Tomcat</display-name>
    <description>
    Welcome to Tomcat
    </description>
    <servlet>
         <servlet-name>HelloWorld</servlet-name>
         <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>*.myservlet</url-pattern>
    </servlet-mapping>
    <servlet>
         <servlet-name>Primes</servlet-name>
         <servlet-class>coreservlets.Primes</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Primes</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    </web-app>
    [ERROR] Digester - -Parse Error at line 29 column 11: The content of element typ
    e "web-app" must match "(icon?,display-name?,description?,distributable?,context
    -param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-conf
    ig?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resou
    rce-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,e
    jb-local-ref*)". <org.xml.sax.SAXParseException: The content of element type "we
    b-app" must match "(icon?,display-name?,description?,distributable?,context-para
    m*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,m
    ime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-r
    ef*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-lo
    cal-ref*)".>

    Hi.
    The answer is rather simple. The file is not valid against the XML v.1.0 standard. That's because all <servlet> elements must come first before all <servlet-mapping> elements. If you change the order of the Primes <servlet> element, the file is valid and Tomcat should not throw an exception.
    This is the correct web deployment descriptor:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!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>
    <display-name>Welcome to Tomcat</display-name>
    <description>
    Welcome to Tomcat
    </description>
    <servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>Primes</servlet-name>
    <servlet-class>coreservlets.Primes</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>*.myservlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>Primes</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    </web-app>

  • error-page in web.xml not working

    In my web.xml I have
    <error-page>
    <exception-type>java.lang.NullPointerException</exception-type>
    <location>/error.jsp</location>
    </error-page>
    I checked the page works by doing a /context/error.jsp and
    the page displays fine (it is a simple jsp page).
    I hit a struts action that gives me this in the std output.
    06/29 10:48:24 error
    [1]java.lang.NullPointerException
    at
    com.pearson.gs.cms.business.LoginService.verifyPassword(LoginService.java:232)
    at
    com.pearson.gs.cms.action.LoginAction.performCMSAction(LoginAction.java:92)
    at
    com.pearson.gs.cms.action.BaseCMSAction.execute(BaseCMSAction.java:48)
    at
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    at
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    at
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at
    jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at
    jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
    at
    jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
    at
    jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
    at
    jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
    [0]javax.servlet.ServletException
    at
    org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
    at
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    at
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    at
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at
    jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at
    jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
    at
    jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
    at
    jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
    at
    jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
    I get a 500 error page instead of my /error.jsp page.
    I tried adding
    <error-page>
    <error-code>500</error-code>
    <location>/error.jsp</location>
    </error-page>
    but that doesn't work either.
    JRun 4.0
    Updater 6
    JDK 1.4.2
    Struts 1.2.8
    Any ideas what to try?

    a. Override your skeletons error.jsp to forward/redirect to your page.
    or
    b. If you primarily use pageflow portlets Define a shared flow which has an exception handling method and direct it to your page. Reference the shared flow in each of your controllers (i think global.app is deprecated in 10 otherwise you could do this there). this lets you log some additional information, plus gives you the added flexibility of dealing with different exception types
    or
    c. Override the path to error.jsp in your portlets properties (havent tested)
    Note if you are using servlets etc you still need your web.xml java.lang.Exception entry. The reason it doesnt get picked up is because the portal framework is handling the exception
    Edited by: deepshet on Dec 22, 2008 8:12 PM

  • JSP compiler reading the web.xml file?

    Hi,
              I am trying to use the weblogic JSP compiler (weblogic.jspc) to
              pre-compile some JSP that use custom tags. Does the compiler
              read the web.xml file if there is one? In particular the taglib
              elements in that file so that the compiler understands the
              <%@ taglib ... %> directive.
              In the JSP I try to compile I use this statement to declare a taglib:
              <%@ taglib uri="xyz/xyz-taglib" prefix="xyz" %>
              and in my web.xml I have:
              <taglib>
              <taglib-uri>xyz/xyz-taglib</taglib-uri>
              <taglib-location>/WEB-INF/tlds/xyz.tld</taglib-location>
              </taglib>
              When I try to compile the JSP I get the following error:
              Could not parse embedded JSP code: weblogic.utils.ParsingException: nested
              IOException: java.io.IOException: cannot resolve 'xyz/xyz-taglib' into a
              valid tag library.
              Any ideas how I can resolve this?
              In advance thank you for any help.
              Florian
              

    open it in a text editor and modify it.
    %

  • Using error pages in web.xml

              Having a few problems with error pages and web.xml with browsers caching the error
              pages and strange errors coming out of weblogic.servlet.intenal.WebAppServletContext
              I'm trying to set a web app up so that all http errors and all exceptions are
              routed thruogh predefined resources. For now, I'm simply send 400 errors to 400.html
              and the ServletException, IOException and RuntimeException to respective html
              pages.
              What I'm finding is that the error codes work fine but the exceptions are only
              be routed to the correct error page for the first call to the servlet after server
              restart.
              So for example, I have my servlet throwing a ServletException as a test case.
              The weblogic server log shows that ServletException is thrown, and the correct
              error page for ServletExceptions is shown.
              If I change the Servlet code to throw IOException in place of SevletException,
              the weblogic.log shows that IOExceptyion is being thrown (so the servlet has deployed
              successfully), however the Servletxception error page is shown on the browser.
              I'm using IE6 and I've changed the setting such that a new page is requested every
              time using the tools-internet options-temp internet files-settings option to "check
              for new versions of stored pages: Every visit to the page".
              Despite this, the servlet exception error page still appears.
              If you clear the cache from the temp intenet files->delete files IE option, the
              correct errror page will be shown so it appears that the browser cache is being
              used after all.
              everytime I delete the temp intenet files I get the correct error page on the
              first request after but then not after that.
              I have implemented the service method for this test to throw the exceptions -
              does this make a differecne?
              As a test, I have moved the imlpementation to the doGet method instead bu I now
              get a strange eror from weblogic comlpaining about an arrayOutOfBoundsException
              because eror codes in the web.xml are not supported! - see error above.
              Any help is appreciated
              

    Have you tried setting pragama no cache?
              <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
              cheersmbg"Aaton" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Having a few problems with error pages and web.xml with browsers caching
              the error
              > pages and strange errors coming out of
              weblogic.servlet.intenal.WebAppServletContext
              >
              > I'm trying to set a web app up so that all http errors and all exceptions
              are
              > routed thruogh predefined resources. For now, I'm simply send 400 errors
              to 400.html
              > and the ServletException, IOException and RuntimeException to respective
              html
              > pages.
              >
              > What I'm finding is that the error codes work fine but the exceptions are
              only
              > be routed to the correct error page for the first call to the servlet
              after server
              > restart.
              >
              > So for example, I have my servlet throwing a ServletException as a test
              case.
              > The weblogic server log shows that ServletException is thrown, and the
              correct
              > error page for ServletExceptions is shown.
              >
              > If I change the Servlet code to throw IOException in place of
              SevletException,
              > the weblogic.log shows that IOExceptyion is being thrown (so the servlet
              has deployed
              > successfully), however the Servletxception error page is shown on the
              browser.
              >
              > I'm using IE6 and I've changed the setting such that a new page is
              requested every
              > time using the tools-internet options-temp internet files-settings option
              to "check
              > for new versions of stored pages: Every visit to the page".
              >
              > Despite this, the servlet exception error page still appears.
              >
              > If you clear the cache from the temp intenet files->delete files IE
              option, the
              > correct errror page will be shown so it appears that the browser cache is
              being
              > used after all.
              >
              > everytime I delete the temp intenet files I get the correct error page on
              the
              > first request after but then not after that.
              >
              > I have implemented the service method for this test to throw the
              exceptions -
              > does this make a differecne?
              >
              > As a test, I have moved the imlpementation to the doGet method instead bu
              I now
              > get a strange eror from weblogic comlpaining about an
              arrayOutOfBoundsException
              > because eror codes in the web.xml are not supported! - see error above.
              >
              > Any help is appreciated
              

Maybe you are looking for