How to embed servlet filter to an existing website

I want to make an application using java servlet filters and I want to know the possibility of making this application as an add-on where anyone could take this application as it is and attach it to his website without knowing anything about servletes and with a very low programming or no programming effort, is it possible? If yes how and if no what is the alternative?

836522 wrote:
I really cant thank everyone enough for your help, thank you :)
why not proxy? because I don't want the full functionalities of a proxy, so I thought why not to implement a servlet filter to do my task especially that all what I want to do could be easily implemented using the methods provided in servlets/filters. what I am thinking of now is to install servlet container and make it run in the proxy mode so any request to the website I want to protect will be directed first to the servlet then the servlet decide whether to pass this request to website or not, what do you think of this??I am afraid that will either not work or be overly complicated. The problem is with this
so any request to the website I want to protect will be directed first to the servlet then the servlet decide whether to pass this request to website or notHow will the servlet pass on the request to the web site? Since it is not part of the other application, it cannot do a forward or include on the resource. Similarly a chain.doFilter() which is the normal way for the Filter to pass the request along to the end resource will not work.
You can theorotically use a HttpClient from the Filter which will create a new http request to the underlying web site and flush the response received back to the browser. I think using a Proxy is the best bet. I would recommend an apache http server with some custom modules to implement your 'filter' code
ram.

Similar Messages

  • How do you embed a gallery into an existing website?

    I have an existing website and I would like to embed a Lightroom gallery into that website. I am not sure how to get it on my web page since the code from the gallery puts out an index.html page. The program has everything I want but only if I can put into existing web pages.
    I can upload the page and get it to run on its own but that is not what I want. I want it embeded into my existing website. Thanks.

    One way to do it is put each gallery in its own subdirectory of your main page (you can use multiple sub galleries) and then have the main page in the root that links to the index.html files in each subdirectory. If your main page is not in the root you have to add the appropriate structure in the return link in the lightroom created gallery "Web or Mail Link" setting.
    In the main page the link to my NATURE page would be   ../nature/index.html
    Then in the Lightroom created NATURE page you can use the "Contact Info" or "Identity Plate" (This can be graphical as shown on my page)     "Web or Mail Link" setting to return to the main page using      ../index.html
    To see and example see my site   http://www.ajaxmtn.com

  • How to embed a pandora player on a website?

    Hello. I'm trying to embed a pandora player on a website I'm putting together. I can't seem to find an actual player that does this. I've found a lot of pandora iframe redirect buttons, but no actual little player. We want to actually embed a miniature version of pandora into our site. Can anyone help with this?
    Thanks

    Hi Billy,
    Found a post on the Pandora blog site that could provide you with directions.
    http://blog.pandora.com/2006/02/02/pandora_21_pand/
    Thanks,
    Preran

  • How to embed radio audio stream into a website?

    Hello.  I'm helping out with the radio website below and at the top of the left column is a "Listen Live" link, which currently just goes directly to their live audio stream.  We would instead rather embed that into a Flash player, or such, to make it more professional.  Would someone have a suggestion of a Flash music player that I could embed?  Maybe something like one of Premiumbeat's Flash players?
    http://www.ksevradio.com
    Thank you,
    Wesley

    Hi
    Inserting an mp3 file and live audio streaming are very different, and the difference in complexity would be the equivalent of servicing a bike and servicing a car.
    Even though the tutorial I pointed you too is more complex than you require, the basics are the same, and as there are almost no tutorials on this subjects available unless you wish to delve into the programming - http://www.aaronsw.com/2002/howto/stream, - http://www.phpclasses.org/browse/package/3927.html.
    There are commercial providers available, but the cost may be excessive, e.g. - http://www.livevideostreaming.co.uk/.
    PZ

  • How to Embed fonts in existing PDF file

    HI,
    I want to know how to embed the fonts in an existing PDF file, i do have Acrobat.
    Thanks

    Post your question in the forum for Acrobat.

  • How to Add a Servlet Filter to Reports 11.1.1.2.0

    I am running Fusion Middleware 11g (Weblogic 10.3.2), with Oracle Forms/Reports 11.1.1.2.0. The installation is running the default managed servers WLS_FORMS and WLS_REPORTS.
    How can I add a Servlet Filter to the Reports 11.1.1.2.0 application which is running under the WLS_REPORTS managed server?
    I have read the Oracle Doc ID: 418366.1, which describes a process for adding a servlet filter to Reports Developer 10.1.2.2, but I am unclear as to which web.xml file I need to modify in weblogic and where to place the class file for the servlet filter.
    Thanks in advance for your help.

    I can provide some partial help.
    The set up I have was running it locally on Windows 7 (64 bit) laptop and running the reports server (version 11.1.1.4) in XP Mode as part of Windows 7 Professional.
    To find which web.xml file to change, I searched the directories for web.xml and then removed then renamed the web.xml files to something else to see which impacted the start up of the reports server.
    It turns out it was a web.xml file in web.war file in the following directory which impacted the start up:
    C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\WLS_REPORTS\tmp\_WL_user\reports_11.1.1.2.0\1ww4ab
    So used winzip to extract files, update web.xml file and and java class as a jar file in the WEB-INF\lib directory and zipped back up to a web.war and put it in the above directory and restarted the Reports Server.
    Note the url pattern I used was slightly different to that shown in the oracle note (forward slash before asterix):
    <url-pattern>/rwservlet/*</url-pattern>
    Have not investigated how to do in for a production environment, but hopefully this information is of use.
    Les.

  • Server-wide Servlet Filter

    Is there a way to deploy a server-wide servlet filter, that applies to all the deployed webapps?
    thanx

    Hi Mike,
    I have a solution and can confirm all is working well.  This is how to do it...
    1.) Create a master sieve config file
    sudo mkdir /var/lib/dovecot/sieve/
    sudo vi /var/lib/dovecot/sieve/default.sieve
    In that file, add:
    require ["fileinto"];
    # Move spam to spam folder
    if header :contains "X-Spam-Flag" ["YES"] {
      fileinto "Junk";
      stop;
    sudo chown -R _dovecot:mail /var/lib/dovecot
    sudo sievec /var/lib/dovecot/sieve/default.sieve
    2.) Add the SPAM sieve conf include to the main config
    sudo vi /Library/Server/Mail/Config/dovecot/conf.d/90-sieve.conf
    Add the following (you can use the existing sieve_before and modify it):
    sieve_before = /var/lib/dovecot/sieve/default.sieve
    3.) Ensure that the Junk Folder is automatically created and subscribed to by default
    sudo vi /Library/Server/Mail/Config/dovecot/conf.d/15-mailboxes.conf
    Replace:
    mailbox Junk {
        special_use = \Junk
    With:
    mailbox Junk {
        auto = subscribe
        special_use = \Junk
    4.) Restart all Mail server services using the Server.app
    5.) Ensure that SPAM is going into the Junk folder correctly.  You can test here: http://www.emailsecuritycheck.net/

  • Strange behavior when using servlet filter with simple index.htm

    I am new to J2EE development so please tolerate my ignorance. I have a web application that starts with a simple index.htm file. I am using a servlet filter throughout the website to check for session timeout, redirecting the user to a session expiration page if the session has timed out. When I do something as simple as loading the index.htm page in the browser, the .css file and one image file that are associated, or referenced in the file are somehow corrupted and not being rendered. How do I get the filter to ignore css and image files??? Thank you!!
    The servlet filter:
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class SessionTimeoutFilter implements Filter {
         String[] excludedPages = {"SessionExpired.jsp","index.htm","index.jsp"};
         String timeoutPage = "SessionExpired.jsp";
         public void destroy() {
         public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
              if ((request instanceof HttpServletRequest) && (response instanceof HttpServletResponse)) {
                   HttpServletRequest httpServletRequest = (HttpServletRequest) request;
                   HttpServletResponse httpServletResponse = (HttpServletResponse) response;
                   //httpServletResponse.setHeader("Cache-Control","no-cache");
                   //httpServletResponse.setHeader("Pragma","no-cache");
                   //httpServletResponse.setDateHeader ("Expires", 0);
                   String requestPath = httpServletRequest.getRequestURI();
                   boolean sessionInvalid = httpServletRequest.getSession().getAttribute("loginFlag") != "loggedIn";               
                   System.out.println(sessionInvalid);
                   boolean requestExcluded = false;
                   System.out.println(requestExcluded);
                   for (int i=0;i<excludedPages.length;i++){
                        if(requestPath.contains(excludedPages)){
                             requestExcluded = true;
                   if (sessionInvalid && !requestExcluded){
                        System.out.println("redirecting");
                        httpServletResponse.sendRedirect(timeoutPage);
              // pass the request along the filter chain
              chain.doFilter(request, response);
         public void init(FilterConfig arg0) throws ServletException {
              //System.out.println(arg0.getInitParameter("test-param"));
    The index.htm file (or the relevant portion)<HTML>
    <Head>
    <META http-equiv="Content-Style-Type" content="text/css">
    <LINK href="RTEStyleSheet.css" rel="stylesheet" type="text/css">
    <TITLE>Login</TITLE>
    </HEAD>
    <BODY>
    <FORM NAME="Login" METHOD="POST" ACTION="rte.ServletLDAP"><!-- Branding information -->
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
         <tr>
              <td width="30%" align="left"><img src="images/top_logo_new2.gif">
              </td>
              <td width="37%" align="center"></td>
              <td width="33%" align="right"></td>
         </tr>
    </table>
    My web.xml entry for the filter:     <filter>
              <description>
              Checks for a session timeout on each user request, redirects to logout if the session has expired.</description>
              <display-name>
              SessionTimeoutFilter</display-name>
              <filter-name>SessionTimeoutFilter</filter-name>
              <filter-class>SessionTimeoutFilter</filter-class>
              <init-param>
                   <param-name>test-param</param-name>
                   <param-value>this is a test parameter</param-value>
              </init-param>
         </filter>
         <filter-mapping>
              <filter-name>SessionTimeoutFilter</filter-name>
              <url-pattern>/*</url-pattern>
              <dispatcher>REQUEST</dispatcher>
              <dispatcher>FORWARD</dispatcher>
         </filter-mapping>

    Hi,
    Try adding CSS files and images to the excluded Pages.

  • Set Roles in servlet filter

    How can I set the user's role in the request object in a servlet filter
    so that in my action class, i can query the role using
    request.isUserInRole() and request.getUserPrinciple() methods.
    Any ideas...
    Thanks,

    How can I set the user's role in the request object
    in a servlet filter
    so that in my action class, i can query the role
    using
    request.isUserInRole() and request.getUserPrinciple()
    methods.You may want to check out JAAS in the Creator tutorial:
    http://developers.sun.com/prodtech/javatools/jscreator/ea/jsc2/reference/sampleapps/

  • Error:    package javax.servlet.http does not exist

    Hi all,
    How do I import javax.servlet?
    package com.example.web;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    public class BeerSelect extends HttpServlet {
      public void doPost(HttpServletRequest request,
                         HttpServletResponse response)
                         throws IOException, ServletException {
        response.setContentType("text/html");
        PrintWriter out = response.getWrite();
        out.println ("Beer Selection Advide<br>");
        String c = request.getParameter("color");
        out.println ("<br>Got beer color " + c);
    }What does this error mean? The error message:
    Compiling 1 source file to C:\Program Files\Apache Software Foundation\MyProjects\J2EE\build\classes
    C:\Program Files\Apache Software Foundation\MyProjects\J2EE\src\com\example\web\BeerSelect.java:3:
    package javax.servlet does not exist
    import javax.servlet.*;
    C:\Program Files\Apache Software Foundation\MyProjects\J2EE\src\com\example\web\BeerSelect.java:4:
    package javax.servlet.http does not exist
    import javax.servlet.http.*;
    C:\Program Files\Apache Software Foundation\MyProjects\J2EE\src\com\example\web\BeerSelect.java:7:
    cannot find symbol
    symbol: class HttpServlet
    public class BeerSelect extends HttpServlet {
    C:\Program Files\Apache Software Foundation\MyProjects\J2EE\src\com\example\web\BeerSelect.java:8:
    cannot find symbol
    symbol  : class HttpServletRequest
    location: class com.example.web.BeerSelect
      public void doPost(HttpServletRequest request,
    C:\Program Files\Apache Software Foundation\MyProjects\J2EE\src\com\example\web\BeerSelect.java:9:
    cannot find symbol
    symbol  : class HttpServletResponse
    location: class com.example.web.BeerSelect
                         HttpServletResponse response)
    C:\Program Files\Apache Software Foundation\MyProjects\J2EE\src\com\example\web\BeerSelect.java:10:
    cannot find symbol
    symbol  : class ServletException
    location: class com.example.web.BeerSelect
                         throws IOException, ServletException {
    6 errors
    BUILD FAILED (total time: 0 seconds)Thank you.

    Hi,
    The file servlet-api.jar / servlet.jar is not available in your classpath.
    To compile an Servlet you need the jar file to be in classpath.
    The jar file can be found in your webserver / application server lib folder.
    Regards,
    Zack

  • Servlet filter problem

    I've written a simple servlet filter to intercept a request to another servlet. So when the user tries to access /servlet/ViewMetadata servlet, they first hit InterceptServlet, the filter configured in Tomcat.
    I need to access the name and URL of the target servlet ViewMetada within InterceptServlet but don't know how to do this. I am familiar with HttpServletRequest.getServletPath() but doFilter uses ServletRequest as its argument.
    Can I obtain the target servlet name inside the filter servlet? I know this is probably very basic!
    Arc

    If the filter is invoked by a HttpServletRequest, then the ServletRequest handle you've in the filter is just an instance of HttpServletRequest.
    Cast it back.

  • Memory leak in Servlet Filter handling?

    In Sun Web Server 6.1, I'm finding a memory leak when using servlet filters. I've even created a "no op" servlet filter. When it's registered, every 10000 hits or so to filtered static content will eat up about 5 to 10 MB of RAM. The JVM heap size doesn't increase.
    When I remove the filter, I've hit the same static page on the server 50000 times without seeing an increase in memory usage by the process.
    This is on Windows 2000, and I think the Sun Web Server 6.1 is SP1. I haven't tried SP2 yet.
    For reference, here's the filter I put in:
    public class NoOpFilter implements Filter
    public void init(FilterConfig arg0) throws ServletException {}
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
    chain.doFilter(request, response);
    public void destroy() {}
    }

    I found the bug. I get the memory leak if magnus.conf has either or both of the following entries:
    AdminLanguage en
    DefaultLanguage en
    If I delete the entries, the memory leak goes away. I suppose this should get fixed by Sun sometime. Maybe I'll figure out how to officially report the bug later.

  • Servlet Filter - Reading Request Error

    I have a servlet filter that sits in front of a webservice servlet (AXIS) - what I want the filter to do is to look at the content of the ServletRequest and if a particular string is located in the request, I want to call another service. Everything works just fine except (isin't there always an execept) that when I execute the following code in the filter:
    BufferedReader inReader = request.getReader();
    String line = null;
    StringBuffer sbuf = new StringBuffer();
    // Read the current request into a buffer
    while((line = inReader.readLine()) != null) {
    sbuf.append(line);
    sbuf.append("\n\r");
    if (sbuf.toString().indexOf("mystring") > -1) {
    // I do some code
    } else {
    chain.doFilter(request, wrapper);
    When I execute this code, at the chain.doFilter I get an "java.lang.IllegalStateException: getReader() has already been called for this request"
    I know that this is because I obtained the Reader from the request. But my question is - How can I look at the request string so that I can evaluate it and not have this exception thrown..
    Thx in advance...

    My guess is that when you do the chain.doFilter you pass the request to another resource that then tries to access the request.getInputStream method.
    From the JavaDocs:
    getReader
    public java.io.BufferedReader getReader()
    throws java.io.IOException
    Retrieves the body of the request as character data using a BufferedReader. The reader translates the character data according to the character encoding used on the body. Either this method or getInputStream() may be called to read the body, not both.
    Returns:
    a BufferedReader containing the body of the request
    Throws:
    java.io.UnsupportedEncodingException - if the character set encoding used is not supported and the text cannot be decoded
    IllegalStateException - if getInputStream() method has been called on this request
    java.io.IOException - if an input or output exception occurred

  • Accessing Managed Session Bean in Servlet Filter

    I wrote a Servlet Filter to handle user authentication. Now I'm trying to access my Managed Session Bean in the filter in order to save the current user. Unfortunately the Session Bean is created after the Filter executes for the first time.
    I'm trying to access the Session Bean in this way:
    (SessionBean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("sessionBean");
    In this case getExternalContext() is equals null.
    Is there any way to create the Session bean before the filter executes or any other ideas how to handle this?
    I already searched around the internet but couldnt figure out something.
    Thanks guys,
    Paul

    Ok, fixed it like this. Works perfect. JSF finds and uses the handmade Session Bean as well.
    if(request.getSession().getAttribute(BeanNames.SESSION_SCOPE_BEAN) == null) {
         SessionBean sessionBean = new SessionBean();
         request.getSession().setAttribute(BeanNames.SESSION_SCOPE_BEAN, sessionBean);
    }Thanks,
    Paul

  • Manipulating SOAP message in Servlet Filter

    I need to capture the client IP address and place it in the SOAP message to pass it to the underlying EJB.
    I am using a servlet filter to capture the IP Address but dont really know how to get the SOAP message from the HTTPServletRequest.
    Any clues ?

    Hello,
    The easiest way to call a Web Service is to use a Client Library instead of calling the SOAP call yourself.
    Can you for your project use a Web Service client stack (JAX-RPC, Axis, XFire, ...) this will create from the WSDL file a set of class and give you a very simple caller class that you can then integrate to your JSP.
    I am pointing you to the OracleAS Web Service Documentation section about Web Service proxy.
    And some simple how-tos that have specific tasks to create client:
    - Web Servics How Tos
    So you can see this specific ant target to create a WS proxy:
    <oracle:genProxy wsdl="[your URL to a WSDL]"
    output="${src.cli.dir}"
    packageName="bottomup.client.proxy"
    >
    <classpath>
    <pathelement path="${bld.cli.dir}"/>
    <pathelement location="${ORACLE_HOME}/webservices/lib/wsa.jar"/>
    </classpath>
    </oracle:genProxy>
    Regards
    Tugdual Grall

Maybe you are looking for