http://feeds.feedburner.com/SpendYourTimeHere-Once

Current Affiares

Showing posts with label JSF. Show all posts
Showing posts with label JSF. Show all posts

Monday, August 13, 2012

Sample of faces-config.xml file??

Sample of faces-config.xml file??


<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="2.0"
              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-facesconfig_2_0.xsd">
    <application>
    
        <el-resolver>
            org.springframework.web.jsf.el.SpringBeanFacesELResolver
        </el-resolver>
        <resource-bundle>
            <base-name>testlab.properties.labtest</base-name>
            <var>address</var>
        </resource-bundle>
        <message-bundle>testlab.ui.MyMessages</message-bundle>
    </application>
    <managed-bean>
        <managed-bean-name>utilsDb</managed-bean-name>
        <managed-bean-class>testlab.utils.TestlabUtilsDb</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
        <managed-property>
            <property-name>jdbcTemplate</property-name>
            <value>#{jdbcTemplate}</value>
        </managed-property>
    </managed-bean>
    <managed-bean>
        <managed-bean-name>user</managed-bean-name>
        <managed-bean-class>testlab.beans.UserBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
        <managed-property>
            <property-name>loginBo</property-name>
            <value>#{loginBo}</value>
        </managed-property>
    </managed-bean>
   
    <managed-bean>
        <managed-bean-name>tdbean</managed-bean-name>
        <managed-bean-class>testlab.beans.TestDetailBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
        <managed-property>
            <property-name>testDetailBo</property-name>
            <value>#{testDetailBo}</value>
        </managed-property>
    </managed-bean>
   
    <lifecycle>
        <phase-listener>testlab.utils.SessionPhaseListener</phase-listener>
    </lifecycle>
    <managed-bean>
        <managed-bean-name>adminBean</managed-bean-name>
        <managed-bean-class>testlab.beans.AdminBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
        <managed-property>
            <property-name>adminBo</property-name>
            <value>#{adminBo}</value>
        </managed-property>
    </managed-bean>
</faces-config>

Sample of web.xml file ?

Sample of web.xml file ?

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
    <!-- Add Support for Spring -->
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
    <listener>
        <listener-class>
            org.springframework.web.context.request.RequestContextListener
        </listener-class>
    </listener>
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Production</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>30</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>
    <filter>
        <filter-name>restrict</filter-name>
        <filter-class>testlab.utils.RestrictPageFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>restrict</filter-name>
        <url-pattern>*.xhtml</url-pattern>
    </filter-mapping>
<!--    <filter>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
-->   
    <filter>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
        <init-param>
            <param-name>uploadDirectory</param-name>
            <param-value>C:\upload</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
</web-app>




How to find the bean name in java jsf?

How to find the bean name in java jsf?

// in java file

@SuppressWarnings("unchecked")
    public static <T> T findBean(String beanName) {
        FacesContext context = FacesContext.getCurrentInstance();
        return (T) context.getApplication().evaluateExpressionGet(context, "#{" + beanName + "}", Object.class);
    }

// and how to use
// use below line wr u want to find the bean name & their respective values

BeanFile beanFile = javafile.findBean("user");

How to redirect to the index page if session expired or time out occurs as per the session-timeout at any page in java, jsf?

How to redirect to the index page if session expired or time out occurs as per the session-timeout at any page in java, jsf?

// in web.xml

<session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>


// in faces-config.xml

<lifecycle>
        <phase-listener>testlab.utils.SessionPhaseListener</phase-listener>
    </lifecycle>

// in SessionPhaseListener.java

package xyz.utils;

import javax.faces.FacesException;
import javax.faces.application.Application;
import javax.faces.application.ViewHandler;
import javax.faces.component.UIViewRoot;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import javax.servlet.http.HttpSession;

public class SessionPhaseListener implements PhaseListener {

    private static final String homepage = "faces/index.xhtml";

    @Override
    public void afterPhase(PhaseEvent event) {
        //Do anything
    }

    @Override
    public void beforePhase(PhaseEvent event) {


        FacesContext context = event.getFacesContext();
        ExternalContext ext = context.getExternalContext();
        HttpSession session = (HttpSession) ext.getSession(false);
        boolean newSession = (session == null) || (session.isNew());
        boolean postback = !ext.getRequestParameterMap().isEmpty();
        System.out.println("newSession::" + newSession + " postback::" + postback);
        boolean timedout = postback && newSession;
        if (timedout) {
          
            Application app = context.getApplication();
            ViewHandler viewHandler = app.getViewHandler();
            UIViewRoot view = viewHandler.createView(context, "/" + homepage);
            context.setViewRoot(view);
            context.renderResponse();
          
            try {
              
                viewHandler.renderView(context, view);
              
                context.responseComplete();
              
            } catch (Throwable t) {
                throw new FacesException("Session timed out", t);
            }
        }
    }

    @Override
    public PhaseId getPhaseId() {
      
        return PhaseId.RESTORE_VIEW;
    }
}

How to check the requested page has a valid user with filter class IN JAVA, JSF?

How to check the requested page has a valid user with filter class IN JAVA, JSF?

 // login validation method && set attribute
// UserBean.java

public String reuestedUrl() {
               boolean check = loginBo.validateLogin(getUsername(), getPassword(), testlabConstants.USER_TYPE_ADMIN);
        if (check) {
            ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext();
            HttpSession session = (HttpSession) ectx.getSession(false);
            session.setAttribute("VALID_USER", "YES");

            return "reuestedUrl?faces-redirect=true";
        } else {

            String msg = "Invalid Username/Password.";
            setLoginfailuremsg(msg);

            return "index?faces-redirect=true";

        }
    }


// filter class for every page & this will work for every page by include filter in web.xml file


RestrictPageFilter.java

package xyz.utils;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class RestrictPageFilter implements Filter{
    FilterConfig fc;
       @Override
    public void init(FilterConfig filterConfig) throws ServletException{
        fc=filterConfig;
    }
    @Override
    public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException,ServletException{
        HttpServletRequest req=(HttpServletRequest) request;
        HttpServletResponse resp=(HttpServletResponse) response;
        HttpSession session=req.getSession();
        String pageRequested=req.getRequestURL().toString();
           //  System.out.println("pageRequested::"+pageRequested);
      //  System.out.println("Valid user::"+session.getAttribute("VALID_USER"));
        if(session.getAttribute("VALID_USER")==null){
            RequestDispatcher rd=req.getRequestDispatcher("/faces/index.xhtml?faces-redirect=true");
            rd.forward(request, response);
            //resp.sendRedirect("/faces/index.xhtml?faces-redirect=true");
        }else{
            chain.doFilter(request, response);
        }
       
    }
    @Override
    public void destroy(){
       
    }
}





// web.xml file



<filter>
        <filter-name>restrict</filter-name>
        <filter-class>testlab.utils.RestrictPageFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>restrict</filter-name>
        <url-pattern>*.xhtml</url-pattern>
    </filter-mapping>

My Blog List

Popular Posts

All Rights Reserved To SYTHONCE. Ethereal theme. Powered by Blogger.