Solved

How to call a method from servlet from JSP

Posted on 2006-11-12
9
278 Views
Last Modified: 2010-08-05
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


0
Comment
Question by:DaFou
  • 5
  • 3
9 Comments
 
LVL 16

Expert Comment

by:Peter Kwan
Comment Utility
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".
0
 
LVL 2

Author Comment

by:DaFou
Comment Utility
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
0
 
LVL 16

Accepted Solution

by:
Peter Kwan earned 500 total points
Comment Utility
Can you call using a scriptlet?

for example,
<%
String message = request.getParameter("message");
PersistentHTTPconnectiontHandler.sendMessageToAlll(message);
%>
0
 
LVL 2

Author Comment

by:DaFou
Comment Utility
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
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 16

Expert Comment

by:Peter Kwan
Comment Utility
Please check your classpath in "Library Manager".
0
 
LVL 2

Author Comment

by:DaFou
Comment Utility
What should the class path look like?
0
 
LVL 2

Author Comment

by:DaFou
Comment Utility
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
0
 
LVL 10

Expert Comment

by:jaggernat
Comment Utility
make sure you have imported " PersistentHTTPconnectiontHandler"  and make sure Diversity.Java.Web.Servlet.PersistentHTTPconnectiontHandler is the right path in your jsp.
0
 
LVL 2

Author Comment

by:DaFou
Comment Utility
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
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Never store passwords in plain text or just their hash: it seems a no-brainier, but there are still plenty of people doing that. I present the why and how on this subject, offering my own real life solution that you can implement right away, bringin…
A safe way to clean winsxs folder from your windows server 2008 R2 editions
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
This video discusses moving either the default database or any database to a new volume.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now