Java Help
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsProgramming LanguagesJava Help

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old April 5th, 2001, 04:00 AM
Maarten Maarten is offline
Junior Member
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2001
Posts: 10 Maarten User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 0
Angry

I always get this fatal error. The only thing i want to do is to pass my HttpServletResponse from my Servlet to my JNI, and then again from my JNI to my Servlet (but another method). Can you tell me what i do wrong?
---------------------------------------------------------------- Here is the java code:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.lang.String.*;
import java.util.*;

public class PushC5 extends HttpServlet {

//public ServletOutputStream out;
public void vcInit() {
}

public native int xxc(int arr[], HttpServletResponse response);

static {
System.loadLibrary("DELL5");
}

//private ServletOutputStream out;
private String[] message=new String[] {"un",
"deux",
"trois",
"quatre",
"cinq"};

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
ServletOutputStream out;
out = response.getOutputStream();

response.setContentType("multipart/x-mixed- replace;boundary=End");
out.println();

out.println("Content-Type: text/html");
out.println();

out.println("--End--");
out.flush();
out.println("Content-Type: text/html");
out.println();

//sendHTML(message[0]);
out.println("<HTML><HEAD><TITLE>Push Servlet</TITLE></HEAD>" +
"<BODY><H1 ALIGN=CENTER>" + message[0]
+ "</H1>" +
"</BODY></HTML>");

out.println();
out.println("--End");
out.flush();

int arr[] = new int [10];

arr[0] = Integer.parseInt(request.getParameter("0"));
arr[1] = Integer.parseInt(request.getParameter("1"));
arr[2] = Integer.parseInt(request.getParameter("2"));
arr[3] = Integer.parseInt(request.getParameter("3"));
arr[4] = Integer.parseInt(request.getParameter("4"));
arr[5] = Integer.parseInt(request.getParameter("5"));
arr[6] = Integer.parseInt(request.getParameter("6"));
arr[7] = Integer.parseInt(request.getParameter("7"));
arr[8] = Integer.parseInt(request.getParameter("8"));
arr[9] = Integer.parseInt(request.getParameter("9"));

int help=new PushC5().xxc(arr, response);
message[4] = Integer.toString(help);

for (int nbr = 0; nbr+1 < message.length; nbr++) {

out.println("Content-Type: text/html");
out.println();

//sendHTML(message[nbr]);
out.println("<HTML><HEAD><TITLE>Push Servlet</TITLE></HEAD>" +
"<BODY><H1 ALIGN=CENTER>" + message[nbr+1]
+ "</H1>" +
"</BODY></HTML>");

out.println();
out.println("--End");
out.flush();

try {
Thread.sleep(Math.abs(new Random().nextInt() % 100) * 10);
Thread.sleep(1000);
} catch (InterruptedException e) {
}

}

out.println("--End--");
out.flush();
}

private void PrintIt(String s, HttpServletResponse responseprint) throws IOException
{
ServletOutputStream outprint;
outprint = responseprint.getOutputStream();
outprint.println("<HTML><HEAD><TITLE>Ik moest printen:</TITLE></HEAD>" +
"<BODY><H1 ALIGN=CENTER>Ik moest iets printen: " + s + "</H1>" +
"</BODY></HTML>");
}
}

---------------------------------------------------------------- THIS IS THE C code for my JNI:

#include <jni.h>
#include "PushC5.h"
#include <stdio.h>

// Peut-être on doit inclure ces fichiers parce que j'ai un erreur avec la
// déclaration:
// char tstr[100]="Print da nekeer";
// l'erreur est: "error C2143 syntax error: missing ';' before 'type'

/*#include <string.h>
#include <iostream.h>
#include <conio.h>
*/

JNIEXPORT jint JNICALL

Java_PushC5_xxc(JNIEnv *env, jobject obj, jintArray arr, jobject response)
{
// juste un petit texte qui doit être retourné vers le servlet pour le visualiser
// le texte sur le browser

char tstr[]="Print da nekeer";

// GetObjectClass retourne la classe d'un objet, nécessaire pour aller chercher
// le methodID.

jclass cls = (*env)->GetObjectClass(env, obj);

// GetMethodID est le methodID du methode qui doit imprimer ce petit texte tstr[]

jmethodID mid = (*env)->GetMethodID(env, cls, "PrintIt", "(I) V");

// Récuperer les arguments du servlet (les 10 numéro pour faire l'addition

jsize len = (*env)->GetArrayLength(env, arr);
int i, s, s2, h, sum = 0;

jint *body = (*env)->GetIntArrayElements(env, arr, 0);
for (i=0; i<len; i++)
sum += body[i];

/*strcpy (tstr, "Print da nekeer");
for (s=0; s<10000; s++) {
for (s2=0; s2<10000; s2++) {
h = sqrt(1002);
}
}*/

(*env)->ReleaseIntArrayElements(env, arr, body, 0);
(*env)->CallVoidMethod(env, obj, mid, tstr, response);

return sum;
}
--------------------------------------------------------------- THIS IS THE ERROR:

JAVA a causé une défaillance de page dans
le module JVM.DLL à 0177:504caf23.
Registres :
EAX=00881940 CS=0177 EIP=504caf23 EFLGS=00010246 EBX=00881940 SS=017f ESP=069cf298 EBP=00000100
ECX=0088e660 DS=017f ESI=01825cd8 FS=53ff
EDX=00000000 ES=017f EDI=00000000 GS=0000
Octets à CS : EIP :
f6 47 0c 08 74 0b 68 9c aa 50 50 50 e8 1c f8 ff
État de la pile :
007a859b 05516fa0 069cf338 007a859b 8a805048 018244e0 069cff64 10010048 007a859b 00000000 069cf338 069cf2aa 00000000 504cc14c 00881940 05516f94

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming LanguagesJava Help > HttpServletResponse with JNI

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap