Link to home
Start Free TrialLog in
Avatar of DaFou
DaFou

asked on

How to call a method from servlet from JSP

Hi All,

This will be my first every JSP page.

All i have right now is this:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

The JSP page should get a QueryString parameter called message and send it to my servlet message.
http://myJavaWeb/sendMessage.jps?message=HelloWorld

How would a JSP page look like that does this.

The package of my servlet is
package Diversity.Java.Web.Servlet.PersistentHTTPconnection;

THe class defenition of the servlet is:
public class PersistentHTTPconnectiontHandler extends HttpServlet


Avatar of Peter Kwan
Peter Kwan
Flag of Hong Kong image

You can define in your web.xml the servlet mapping as the following:

 <servlet>
        <servlet-name>PersistentHTTPconnectiontHandler</servlet-name>
        <display-name>PersistentHTTPconnectiontHandler</display-name>
        <servlet-class>Diversity.Java.Web.Servlet.PersistentHTTPconnection.PersistentHTTPconnectiontHandler</servlet-class>
  </servlet>
<servlet-mapping>
        <servlet-name>PersistentHTTPconnectiontHandler</servlet-name>
        <url-pattern>/sendMessage.jps</url-pattern>
  </servlet-mapping>

This way you can call your servlet class when the url pattern matches the "/sendMessage.jps".
Avatar of DaFou
DaFou

ASKER

but i want to call the servlet from my JSP and not have the webserver route in incomming request and response object to the servlet.

The method I want to call is:
public static void sendMessageToAlll(String message)

so how from the JSP do i call that method which is in a servlet
ASKER CERTIFIED SOLUTION
Avatar of Peter Kwan
Peter Kwan
Flag of Hong Kong image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of DaFou

ASKER

when compiling sendMessage.jsp containing this code:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%
String message = request.getParameter("message");
Diversity.Java.Web.Servlet.PersistentHTTPconnectiontHandler.sendMessageToAlll(message);
%>

I get the following error:
C:\Documents and Settings\root\PersitentHTTP\build\generated\src\org\apache\jsp\sendMessage_jsp.java:46: package Diversity.Java.Web.Servlet does not exist

The packagage containing the servlet is located in the source package folder of the current project in netbeans 5.0. The sendMessage.jsp is located in the Web Pages folder of the current project in netbeans 5.0
Please check your classpath in "Library Manager".
Avatar of DaFou

ASKER

What should the class path look like?
Avatar of DaFou

ASKER

The werid thing is when I begin typing Diversity in my jsp page. It finds it in the dropdown and I can navigate all the way to persistantHTTPhandler.
But once there It does NOT find the public static sendMessageToAll
make sure you have imported " PersistentHTTPconnectiontHandler"  and make sure Diversity.Java.Web.Servlet.PersistentHTTPconnectiontHandler is the right path in your jsp.
Avatar of DaFou

ASKER

I now have this but it still is not compiling.

<%@ page import="Diversity.Java.Web.Servlet.PersistentHTTPconnection"   %>
<%
String message = request.getParameter("message");
Diversity.Java.Web.Servlet.PersistentHTTPconnection.PersistentHTTPconnectiontHandler.sendMessageToAlll(message);
%>

compile:

Compiling 1 source file to C:\Documents and Settings\root\PersitentHTTP\build\generated\classes

C:\Documents and Settings\root\PersitentHTTP\build\generated\src\org\apache\jsp\sendMessage_jsp.java:6: package Diversity.Java.Web.Servlet does not exist

import Diversity.Java.Web.Servlet.PersistentHTTPconnection;

1 error

C:\Documents and Settings\root\PersitentHTTP\nbproject\build-impl.xml:361: The following error occurred while executing this line:

C:\Documents and Settings\root\PersitentHTTP\nbproject\build-impl.xml:353: The following error occurred while executing this line:

C:\Documents and Settings\root\PersitentHTTP\nbproject\build-impl.xml:141: Compile failed; see the compiler error output for details.

BUILD FAILED (total time: 5 seconds)


While every thing excists just fine