How to execute a servlet onload

Hi everyone,
I am very new to servlets. I have a jsp page that calls a servlet which is executed on a submit button within a form.
It works, returning the data to the page. However I would like my servlet to be executed on load of the jsp. A tutorial that covers this area would be great.
If you have a suggestion please post a response.. Thanks.
<form name="data_form" method="post" action="Controller">
<input type="hidden" name="action" value="getData"/ >
</form>
public void doPost(HttpServletRequest request, HttpServletResponse response)
     throws ServletException, IOException {
          //String action = request.getServletPath().substring(1, request.getServletPath().indexOf("."));
          String action = (String)request.getParameter("action");
          // select application logic
          String target = null;
          try {
                               if(action.equals("getData")){                     
                    DataManager data = new DataManager();
                    request.setAttribute("Data", data.getData());
                    target = "/data.jsp";
                                 }catch(RuntimeException e){
               e.printStackTrace();
          }Edited by: _AlyssaK on May 29, 2009 8:49 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Onload? I've had a laugh, seriously :)
Create a Servlet class and implement doGet() wherein you do the desired loading tasks and finally forward the request to a JSP file and in the JSP file just access the loaded data through taglibs/EL. Finally map that servlet on an url-pattern and call it in your browser.
E.g. (semi pseudo)
doGet(request, response) {
    Data data = dataDAO.load();
    request.setAttribute("data", data);
    request.getRequestDispatcher("data.jsp").forward(request, response);
}data.jsp
<p>The data is: ${data}</p>web.xml
<servlet-mapping>
    <servlet-name>yourServlet</servlet-name>
    <url-pattern>/data</url-pattern>
</servlet-mapping>Then invoke it on [http://hostname:port/contextroot/data].

Similar Messages

  • How to execute a servlet on  jakarta-tomcat-4.0.3

    Please let me know how to execute a servlet on  jakarta-tomcat-4.0.3 .I am able to compile it .
    Regards,
    Saurabh Singhal

    Hi
    You must provide a mapping in your web.xml configuration file. This mapping will allow you to access servlet via url in form: "http://[domain]:[port]/[context]/servlet/[servlet full qualified name]"
    This file should be located at $TOMCAT_HOME/conf.
    Sample web.xml contains:
    <web-app>
        <display-name>Sample Database App</display-name>
        <description>
         This is a simple application.
        </description>
        <servlet>
            <servlet-name>MyServlet</servlet-name>
            <servlet-class>MyServletImpl</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>MyServlet</servlet-name>
         <url-pattern>/myservletaddr</url-pattern>
        </servlet-mapping>
    </web-app>
    You can find more info at:
    http://scitec.uwichill.edu.bb/cmp/online/CS36L/tutorials/TomcatIntroduction/TomcatIntroSampleApp.html
    or
    http://www.moreservlets.com/Using-Tomcat-4.html

  • How to execute a servlet from a java code

    Hi,
              I am trying to make a URL connection to a particular site and trying
              to execute the servlet at the site specified and then storing the image
              pointed to by the servlet in a tmp location.I am passing the servlet id
              in the param Parameter.and the
              HTTP link in the URLString.
              This code worked fine with a CGI script but is not working
              properly with a servlet.
              A sample servlet code
              <img SRC=http://xyz/ABCServlet?imageKey=51752
              2881"/>
              private String executeServlet(String URLString, String param) {
              try {
              URL url = new URL(URLString);
              URLConnection connection = url.openConnection();
              connection.setDoOutput(true);
              PrintWriter out = new
              PrintWriter(connection.getOutputStream());
              out.println(param) ;
              out.close();
              BufferedReader in = new BufferedReader(new
              InputStreamReader(
              connection.getInputStream()));
              String inputLine;
              String inputData = "" ;
              while ((inputLine = in.readLine()) != null)
              inputData = inputData + inputLine ;
              in.close();
              System.out.println(inputData) ;
              return inputData ;
              Could anyone one help me out in this.
              Thanks,
              Trita
              

    Hi,
              I would assume your image is a binary file, and therefore you should use
              class for byteStream instead of charStream classes, i.e. Reader.
              Michael
              Trita Tripathi <[email protected]> wrote in message
              news:[email protected]...
              > Hi,
              > I am trying to make a URL connection to a particular site and trying
              > to execute the servlet at the site specified and then storing the image
              > pointed to by the servlet in a tmp location.I am passing the servlet id
              > in the param Parameter.and the
              > HTTP link in the URLString.
              > This code worked fine with a CGI script but is not working
              > properly with a servlet.
              > /*
              > A sample servlet code
              > <img SRC=http://xyz/ABCServlet?imageKey=51752
              > 2881"/>
              > */
              >
              > private String executeServlet(String URLString, String param) {
              >
              > try {
              > URL url = new URL(URLString);
              > URLConnection connection = url.openConnection();
              > connection.setDoOutput(true);
              >
              > PrintWriter out = new
              > PrintWriter(connection.getOutputStream());
              > out.println(param) ;
              > out.close();
              >
              > BufferedReader in = new BufferedReader(new
              > InputStreamReader(
              > connection.getInputStream()));
              > String inputLine;
              > String inputData = "" ;
              >
              > while ((inputLine = in.readLine()) != null)
              > inputData = inputData + inputLine ;
              >
              > in.close();
              >
              > System.out.println(inputData) ;
              > return inputData ;
              > }
              > Could anyone one help me out in this.
              >
              > Thanks,
              > Trita
              >
              >
              >
              >
              

  • How to execute jsp.servlet program in eclipse with small example

    This is sasidhar,
       How to set classpath pf tomcat to eclipse.
    and how to run jsp and servlets in eclipse 3.o
    thanks&regards
    sasidhar

    HI,
    Try these links
    http://help.sap.com/saphelp_nw04/helpdata/en/64/620a2ae361344abf47462809eb5388/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/f6/baba3eb645dc61e10000000a114084/frameset.htm

  • How to execute  servlets  in tomcat?

    Hi,
    I have compiled servlet file and tried to execute that file from root i.e. (http://localhost/'filename'....)as class file is in web-inf/classes.But it is executing from "http://localhost/servlet/" where is that servlet directory?
    why all servlets executes from "servlet/" directory?
    Please reply....
    Thanx in advance.

    I has the same problem, and my solution was to include a line in the tomcat-auto file foreach servlet i had.
    Under
    JkMount /MyApp/servlet/* ajp13
    I set a line
    JkMount /MyApp/MyServlet ajp13
    and in the web.xml of my webapp i included a servlet mapping for the servlet:
    <servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>MyPackage.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>
    Then restarting tomcat and apache it worked.
    One question i have is that tomcat-auto file it is supposed to be auto-generated by tomcat, but in my case it is not, each time i add an app in the webapps dir i have to add all the stuff in tomcat-auto file. Does anyone know how to autogenerate this file?

  • How to execute and test servlets

    I wounder if smbd can explain me what software do I need to execute my servlet program. I'd like to test my first servlet on local machine. How to do that?
    thnks

    Erm to be more helpful...
    Tomcat is a servlet container freely downloadable from Apache. You will find it here:
    http://jakarta.apache.org/tomcat/index.html
    with documentation on how to use it.

  • How to execute CGI Programs in Tomcat Server

    Hi,
    I am working on executing Perl Scrtipts(or CGI programs) in Tomcat Server.
    I have downloaded ActivePerl 5.8.0 6.0.3 build.I have modified some .jar files in tomcat\server\lib.
    I have changed conf\web.xml to access the CGIServlet.class that is in servlets-cgi.jar.
    My example.cgi is
    #!c:\Perl\bin\perl.exe
    print
    "Content-type: text/plain\n\n";
    foreach $var (
    sort keys %ENV) {
    print
    "$var=\"$ENV{$var}\"\n";
    @values = split(
    /&/,$ENV{'QUERY_STRING'});
    foreach $i (@values) {
    ($varname, $mydata) = split(
    /=/,$i);
    print "$varname = $mydata\n";
    and my test.html is
    <HTML>
         <HEAD>
              <TITLE>Environment Variables using GET</TITLE>
         </HEAD>
         <BODY>
              <FORM ACTION="cgi-bin/example.cgi" METHOD="POST">
                   Press submit for a list of environment variables. <BR>
                   First Name: <input type="text" name="fname" size=30><p>
                   Last Name: <input type="text" name="lname" size=30><p>
                   <input type="submit">
              </FORM>
         </BODY>
    </HTML>
    here I have changed url mapping in web.xml to cgi-bin.
    The test.html produces two text fields first and last name on submit:
    it accesses:http://localhost:8080/smalltownpapers/cgi-bin/example.cgi?fname=Tim&lname=Eden
    this should print some environmental variables but it is producing an empty page.
    Tomcat is not showing any errors or Tomcat is not at all listening.
    Can any one help me to solve this and how to execute Perl scripts in Tomcat server
    Thanks,
    Regards
    Murthy

    Sorry, I've never done this. I went to the Tomcat site and pulled down the CGI docs, which you might have seen:
    http://jakarta.apache.org/tomcat/tomcat-5.0-doc/cgi-howto.html
    No other help available from me. Sorry.

  • How to execute an internal WebService from CRM On Demand?

    Hello,
    I would like to know how to execute an internal WebService, for example Contact's WebService, from CRM On Demand?
    I have seen in the online documentation:
    "An integration event is a mechanism for triggering external processes that are based on changes (create, update, delete, associate, dissociate) to the records in Oracle CRM On Demand.
    You can specify which fields on a record that you want to track. If your company wants to use workflow rules to create integration events, contact Customer Care to request support for Integration Event Administration and to specify the total size of the integration event queues that you require".
    I have this option activated. In fact, I have tried to create a workflow rule to assign an integration event to call the WebService process, but I couldn't do it...
    Thank you and regards.

    Hi, sorry for the late answer. I now understand what you are trying to do, it is an automatic approach so you will need to use integration events.
    So if custom object 2 field is changed you have to generate an integration event with a workflow that triggers when modified record is saved. The event should be transfered to the queue you defined.
    What you need is an external componenet e.g. java component that is running in an application server and polls every (let's say 30 seconds for events in the queue. If there is an event in the queue you will need the custom object 3 Id and the value for the field you would like to update and afterwards you can update the related customonject3 record with a ws call.
    If you use java you can start the timer with a servlet lifecycle event (when application is up start the timer for polling)
    Best Regards
    SL

  • How to run a servlet in Tomcat 5.0 server

    HI Everybody,
    I want to know how to run the servlet file on my tomcat 5.0 server. that is where to place a class file and deployment details.
    Thanks In ADVANCE

    Sourav_cs wrote:
    I am a biginner to start servlet i get confusion to configure servlet in tomcat 5 where it should be saved in tomcat directory and how to execute that as first timeHi,
    goto
    tomcat 5.0\webappsnow create a folder here. this is your webapplication project name. Let's suppose it as "TestApp"
    inside this create directories as follows :
    TestApp
            |
            |-----JSP/htmls( if you have any )
            |
            |-----WEB-INF(File Folder)
                       |
                       |-----web.xml
                       |-----lib ( Directory. place all the .jar files which are required for this project(if any) )
                       |-----classes ( .class files. )[all of your java code should be placed here.](servlets / beans/ pojo )this is the general Directory structure of a web application. now you've to place the compiled .class file of your servlet in the "TestApp\WEB-INF\classes" directory. make sure that you've configured the servlet in Deploment Desctiptor, i.e, web.xml.
    now start the server and type the url like : "http://localhost:8080/TestApp/TestServlet"
    the port no. 8080 is the default port no. of tomcat. you have to give your port no. if u've modified it. and TestServlet is the <url-pattern> of your servlet.
    go through some tutorials .. then you can easily know that
    Diablo

  • How to invoke the servlet

    how to invoke a servlet using jsp
    containing JSF components
    how can we do this using creator ?
    having sucessfully executed the examples
    still dont know how to do it
    and also jsp source is quite different than normal jsp
    it doesnt allow jsp tags such as
    <%= "asdf"%>any help is great to me
    thanks in advance !
    cheers,
    shekar

    and also jsp source is quite different than normal
    jsp
    it doesnt allow jsp tags such as
    <%= "asdf"%>
    This is jsp syntax -- JSC uses jsf...:-(
    Regards,
    - D.t.O

  • How to run the servlet without getting message window?

    while running servlet,i got a message window that 'Do you want to save:val?'how to rectify this problem while running servlet.
    Actually i saved the servlet files as HTTP and Generic.java respectively.
    In web.xml file,the content is as follows
    <servlet>
    <init-param>
         <param-name>title</param-name>
         <param-value>GenericServlet Example</param-value>
         </init-param>
         <init-param>
    <param-name>heading</param-name>
    <param-value>Servlet Program</param-value>
    </init-param>
    <servlet-name>G</servlet-name>
    <servlet-class>Generic</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>H</servlet-name>
    <servlet-class>HTTP</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>G</servlet-name>
    <url-pattern>/generic</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>H</servlet-name>
    <url-pattern>/http</url-pattern>
    </servlet-mapping>
    ======================================================
    The html file is as follows
    <html>
    <body>
    <form action="generic" method="get">
    User Name<input type=text name=t1><br>
    Password<input type=password name=t2><br>
    <input type="submit" value="GenericServlet Output">
    </form>
    <form action="val" method="get">
    User Name<input type=text name=t3><br>
    Password<input type=password name=t4><br>
    <input type="submit" value="HttpServlet Output">
    </form>
    </body>
    </html>
    ======================================================
    I executed the servlet as http://localhost:8080/stalin/sample.html
    and clicked the sumit button in the html page.
    During that time i got a problem but not getting the output.The problem is I got a message window?
    can anyone help me clarify my doubt plz

    That would occur if either the content type in the header is wrong (e.g. it is not text nor image, those content types with which the useragent used is associated), or if you have set content disposition in the header to attachment instead of inline.
    So, doublecheck the headers.

  • How to run a Servlet Project's .war from Command Line??

    Hi there,,
    Can anybody help me with how to run a Servlet Project's .war file from command line??In fact I tried it using the following command,
    java -jar TestServProj.war
    but I get the following error,,,
    Failed to load Main-Class manifest attribute
    I can't find the project''s manifest file in the META-INF folder.
    Moreover,plz help me about know how to execute a single servlet class from command line...
    Thanks in advance...

    you cant run a .war file from command prompt
    .war files should be executed in a server
    how to execute a single servlet class
    do you mean to run the servlet or compile the servlet?
    any way you need a server and if you are a beginner Apache tocat will be the best server to start with you can down load it from
    http://tomcat.apache.org/

  • How to execute a java application once the server starts

    I have created a java application which executes correctly. I want this application to execute everytime I start my server. I have modified my web.xml as shown below
    <servlet>
    <servlet-name>SendEmail</servlet-name>
    <servlet-class>
    com.allcorp.alliance.tdocs.servlets.SendEmail</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    <load-on-startup>1</load-on-startup>
    </init-param>
    </servlet>
    I have extended the class with HttpServlet. When I start the server, I get the message saying the class is being initializing but it does not execute. I want the application to execute. Any idea what I need to do.

    BalusC wrote:
    Implement ServletContextListener and run the appplication on creation of the ServletContext.Well i understand implementation of ServletContextListener and by overiding contextInitialized(ServletContextEvent se) accordingly can solve the problem.
    but you need to consider two cases here first
    1).ServletContextListener is not supported by all container especially the minor onces which does not support Servlet 2.3 specification.
    2).OP does not have any idea of how to use a Servlet first if you can see he had written his intialization code in the main method.Now how can you expect him to create a listener..... :)
    I hope there are no hard issues on what i said this time.
    *@OP*
    My friend the bad news is that you need to spend bit of time learning about servlets.U'd not be writing intialization code inside a main rather you'd be doing it inside public void init(ServletConfig config) method.
    by making <load-on-startup><!--value</load-on-startup> in web.xml enables Servlet container to call init method at the time of deployment of the web application else where it'd call the init method whenever servlet encounters first request from a client.
    package com.allcorp.alliance.tdocs.servlets;
    import java.util.*;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.servlet.http.*;
    import javax.servlet.*;
    import javax.activation.*;
    * @author ssa3z
    * TODO To change the template for this generated type comment go to
    * Window - Preferences - Java - Code Style - Code Templates
    public class SendEmail extends HttpServlet{
    public void init(ServletConfig config) {
        // SUBSTITUTE YOUR EMAIL ADDRESSES HERE!!!
        String to = "[email protected]";
        String from = "[email protected]";
        // SUBSTITUTE YOUR ISP'S MAIL SERVER HERE!!!
        String host = "smtp.allstate.com";
        // Create properties, get Session
        Properties props = new Properties();
       // If using static Transport.send(),
      // need to specify which host to send it to
      props.put("mail.smtp.host", host);
      // To see what is going on behind the scene
      props.put("mail.debug", "true");
      Session session = Session.getInstance(props);
      try {
         // Instantiatee a message
         Message msg = new MimeMessage(session);
         //Set message attributes
         msg.setFrom(new InternetAddress(from));
         InternetAddress[] address = {new InternetAddress(to)};
         msg.setRecipients(Message.RecipientType.TO, address);
         msg.setSubject("Test E-Mail through Java");
         msg.setSentDate(new Date());
         // Set message content
         msg.setText("This is a test of sending a " +"plain text e-mail through Java.\n" +"Here is line 2.");
         //Send the message
         Transport.send(msg);
      }catch (MessagingException mex) {
        mex.printStackTrace();
    } Hope this might help :)
    REGARDS,
    RaHuL

  • How to run java servlet without using Web.xml?

    How to run servlet without using Web.xml? From a book, I know that web.xml descriptor is optional, but the book doesn't tell us how to run java servelet without web.xm descriptor. So how to do that? Thanks a lot.

    How to run servlet without using Web.xml?But Tomcat now uses a web.xml for its global server-wide configuration.
    If you'd like to invoke a servlet with:
    http://host/servlet/ServletName
    you have to enable the invoker servlet.
    [from an HTML]
      <FORM METHOD="POST" ACTION="/servlet/HGrepSearchSJ">
    [from resin.conf of Resin Web Server 2.1.12]
      <!--
         - The "invoker" servlet invokes servlet classes from the URL.
         - /examples/basic/servlet/HelloServlet will start the HelloServlet
         - class.  In general, the invoker should only be used
         - for development, not on a deployment server, because it might
         - leave open security holes.
        -->
      <servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>
    [from TOMCAT5.0.19/conf/web.xml, a global server-wide web.xml file]
      <!-- The "invoker" servlet, which executes anonymous servlet classes      -->
      <!-- that have not been defined in a web.xml file.  Traditionally, this   -->
      <!-- servlet is mapped to URL pattern "/servlet/*", but you can map it    -->
      <!-- to other patterns as well.  The extra path info portion of such a    -->
      <!-- request must be the fully qualified class name of a Java class that  -->
      <!-- implements Servlet (or extends HttpServlet), or the servlet name     -->
      <!-- of an existing servlet definition.     This servlet supports the     -->
      <!-- following initialization parameters (default values are in square    -->
      <!-- brackets):                                                           -->
      <!--                                                                      -->
      <!--   debug               Debugging detail level for messages logged     -->
      <!--                       by this servlet.  [0]                          -->
        <servlet>
            <servlet-name>invoker</servlet-name>
            <servlet-class>
              org.apache.catalina.servlets.InvokerServlet
            </servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
            </init-param>
            <load-on-startup>2</load-on-startup>
        </servlet>
    ---comment out below----------------------------------------------------------
        <!-- The mapping for the invoker servlet -->
    <!--
        <servlet-mapping>
            <servlet-name>invoker</servlet-name>
            <url-pattern>/servlet/*</url-pattern>
        </servlet-mapping>
    -->

  • How to execute a script(.sql) file from a PL\SQL procedure

    I would like to know how to execute a .sql file from a stored procedure and the result of it should update a table. My .sql file contains select statements.

    Hi!
    just go through the following piece of code -
    SQL> ed
    Wrote file afiedt.buf
      1  declare
      2    str varchar2(200);
      3  begin
      4    str := '@C:\RND\Oracle\Misc\b.sql';
      5    execute immediate(str);
      6* end;
    SQL> /
    declare
    ERROR at line 1:
    ORA-00900: invalid SQL statement
    ORA-06512: at line 5ORA-00900: invalid SQL statement
    Cause: The statement is not recognized as a valid SQL statement. This error can occur if the Procedural Option is not installed and a SQL statement is issued that requires this option (for example, a CREATE PROCEDURE statement). You can determine if the Procedural Option is installed by starting SQL*Plus. If the PL/SQL banner is not displayed, then the option is not installed.
    Action: Correct the syntax or install the Procedural Option.
    Regards.
    Satyaki De.

Maybe you are looking for

  • Do shell script problem in Applescript

    Hi, I am an Applescript novice and have been trying to write a code to go to a particular folder, look for all files in the folder tree with extension .m2v and run an executable file to decode them. My problem is that when I run my code (containing d

  • Can't get authorized to use CS5; PS 6.0; PS 7.0 on new computer

    Can't get authorized to use CS5; PS 6.0; PS 7.0 on new computer.

  • Java GUI

    Greeting. I'm here to looking for help. I'm noob in java programming but I have to do it. Here's the problem. I'm going to make a part of data mining tools using java language. What I need to do is 1) Browse excel file and open it. 2) Display the con

  • Can not change root password for WCS

    Need to change the root password for the web gui. WCS is running on linux, i have tried to do the passwd user-root but it cames back saying it can not find the username.

  • Tabs expand when closing other tabs

    This drives me nuts and I hate it so much!!!! When you close a bunch of tabs and get down to the last few they start to get bigger. Well When that happens I accidently close the last tab which closes internet explorer. This sucks because in other bro