works for me. I changed mine to *.leg and left all my files to be called *.jsp with this web.xml file......
My index.jsp does a redirect to my home.leg url.

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee";
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";>
<display-name>webAppTest2</display-name>
<context-param>
<description>Comma separated list of URIs of (additional) faces config files.
           (e.g. /WEB-INF/my-config.xml)
           See JSF 1.0 PRD2, 10.3.2</description>
 <param-name>javax.faces.CONFIG_FILES</param-name>
 <param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<context-param>
 <description>State saving method: "client" or "server" (= default)
           See JSF Specification 2.5.2</description>
 <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
 <param-value>server</param-value>
</context-param>
<context-param>
<description>This parameter tells MyFaces if javascript code should be allowed in the
           rendered HTML output.
If javascript is allowed, command_link anchors will have javascript code
           that submits the corresponding form.
If javascript is not allowed, the state saving info and nested parameters
           will be added as url parameters.
           Default: "true"</description>
 <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
 <param-value>true</param-value>
</context-param>
<context-param>
<description>This parameter tells MyFaces if javascript code should be allowed in the
           rendered HTML output.
If javascript is allowed, command_link anchors will have javascript code
           that submits the corresponding form.
If javascript is not allowed, the state saving info and nested parameters
           will be added as url parameters.
           Default: "false"

Setting this param to true should be combined with STATE_SAVING_METHOD "server" for
           best results.

This is an EXPERIMENTAL feature. You also have to enable the detector filter/filter mapping below to get
           JavaScript detection working.</description>
 <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
 <param-value>false</param-value>
</context-param>
<context-param>
<description>If true, rendered HTML code will be formatted, so that it is "human readable". i.e. additional line separators and whitespace will be written, that do not
           influence the HTML code.
           Default: "true"</description>
 <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
 <param-value>true</param-value>
</context-param>
<context-param>
<description>If true, a javascript function will be rendered that is able to restore the former vertical scroll on every request. Convenient feature if you have pages with long lists and you do not want the browser page to always jump to the top if you trigger a link or button action that stays on the same page.
           Default: "false"</description>
 <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
 <param-value>true</param-value>
</context-param>
<!--filter>
 <filter-name>extensionsFilter</filter-name>
<filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
 <init-param>
  <description>Set the size limit for uploaded files.
               Format: 10 - 10 bytes
                       10k - 10 KB
                       10m - 10 MB
                       1g - 1 GB</description>
  <param-name>uploadMaxFileSize</param-name>
  <param-value>100m</param-value>
 </init-param>
 <init-param>
  <description>Set the threshold size - files
                   below this limit are stored in memory, files above
                   this limit are stored on disk.

               Format: 10 - 10 bytes
                       10k - 10 KB
                       10m - 10 MB
                       1g - 1 GB</description>
  <param-name>uploadThresholdSize</param-name>
  <param-value>100k</param-value>
 </init-param>
</filter>
<filter-mapping>
 <filter-name>extensionsFilter</filter-name>
 <url-pattern>*.jsf</url-pattern>
</filter-mapping>
<filter-mapping>
 <filter-name>extensionsFilter</filter-name>
 <url-pattern>/faces/*</url-pattern>
</filter-mapping-->
<!-- Listener, that does all the startup work (configuration, init). -->
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
<servlet>
 <servlet-name>Faces Servlet</servlet-name>
 <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
 <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
 <servlet-name>Faces Servlet</servlet-name>
 <url-pattern>*.leg</url-pattern>
</servlet-mapping>


<welcome-file-list>
 <welcome-file>index.jsp</welcome-file>
 <welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>


Legolas Woodland wrote:

Hi Dean,
I have changed my web.xml  file as follow :


<servlet>
       <servlet-name>Faces Servlet</servlet-name>
       <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
       <load-on-startup>1</load-on-startup>
   </servlet>

   <!-- Faces Servlet Mapping -->

   <servlet-mapping>
       <servlet-name>Faces Servlet</servlet-name>
       <url-pattern>*.leg</url-pattern>
   </servlet-mapping>

I have *No* .leg file in my web root file.
i have files like :
index.jsp
logout.jsp
login.jsp

When i tried to access my index.jsp using the following url :
http://127.0.0.1:8080/test/index.leg
it return

*HTTP Status 404 -
*

*what else i should configure to use .leg extension ?
should i change all of myfiles extension to .leg?
*


before this i used the formal /faces/* as a url pattern , on that time i could access my jsp files using
http://localhost:8080/test/faces/index.jsp


Thanks


Dean Hiller wrote:

yes, I use *.jsf. when a url http://localhost:8080/webapp/page.jsf is called, it calls the jsp in webroot of your war file. I also personally put this in my web.xml.....

<context-param>
  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  <param-value>.jspx</param-value>
</context-param>

This allows me to name all my JSF jsps xxxx.jspx and I can name all my normal jsps(that are not for JSF) xxxxx.jsp. I tried to figure out how I could use jsf in the url and in the file name in the war file, but it seems that cannot be done right now(or I could not figure it out).
later,
dean



Legolas Woodland wrote:

There are two declaration in web.xml that i can not understand
these are :

<servlet>
       <servlet-name>Faces Servlet</servlet-name>
       <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
       <load-on-startup>1</load-on-startup>
   </servlet>

   <!-- Faces Servlet Mapping -->

   <servlet-mapping>
       <servlet-name>Faces Servlet</servlet-name>
       <url-pattern>/faces/*</url-pattern>
   </servlet-mapping>


I just can not understand , in some places they set another url-pattern , for example :
       <url-pattern>*.faces</url-pattern>
and thier application works file.

but for me with the first url-mapping , i should navigate to
http://localhost:8080/testApp/faces/index.jsp to works
so my understanding is that :
when i navigate to that url , the pattern matches and filter applies to my request.

but when people uses *.faces in url-pattern , how they navigate to jsp pages ? should they change the file extensions to use jsf pages , or there is some other triks ?


Thank you






Reply via email to