[jboss-user] [JBoss Seam] - Re: getting referer

supernovasoftware.com do-not-reply at jboss.com
Tue Aug 15 00:19:25 EDT 2006


I use the following as a page action to log access to my application.

In the @Create method I set the request.  I am only interested in the "User-Agent" header, but I am sure you can get the referrer as well.


  | @Stateful
  | @Name("accessManager")
  | @Scope(ScopeType.EVENT)
  | public class AccessManagerBean implements Serializable, AccessManager {
  | 
  | 
  |     private static final long serialVersionUID = 2947953361734540770L;
  |     
  |     @EJB AccessDAO accessDAO;
  |     @EJB UsrDAO usrDAO;
  | 
  |     
  |     @Logger Log log;
  |     
  |     @SuppressWarnings("unused")
  |     @DataModel(scope = ScopeType.PAGE)
  |     private List<Access> accessList;    
  |         
  |     @In(required = false)
  |     @Out(scope = ScopeType.PAGE, required = false)
  |     private Access accessNew; 
  |     
  |     @In
  |     private FacesContext facesContext;
  |     
  |     @Factory("accessList")
  |     public void getList()
  |     {
  |      accessList = accessDAO.getAllAccesss();
  |     }
  | 
  |     @Factory("accessNew")
  |     public void getNew() {
  |         log.info("@Factory(roleNew)");
  |         accessNew = new Access();         
  |     }
  |     
  |     private HttpServletRequest request;
  |     
  |     @Create
  |     public void setup() {
  |       request = (HttpServletRequest) facesContext.getExternalContext().getRequest();
  |     } 
  | 
  |     public String select() {
  |         return null;
  |     }
  | 
  |     public String update() {
  |       clear();
  |       return null;   
  |     }
  | 
  |     public String add() {
  |       Access access = new Access();
  |       access.setUsr(usrDAO.getUsrByJAAS(request.getRemoteUser()));
  |       access.setStartDate(new Date());
  |       access.setAddressIP(request.getRemoteAddr());
  |       access.setPath(request.getRequestURI());
  |       access.setUserAgent(request.getHeader("User-Agent"));
  |       access = accessDAO.makePersistent(access);
  |       return null;
  |     }
  |     
  |     private void clear(){ }
  | 
  |     public String delete()
  |     {
  |       return null;
  |     } 
  |     
  |     @Destroy @Remove
  |     public void destroy() { }    
  | }
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3965168#3965168

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3965168



More information about the jboss-user mailing list