Avatar billede t_mons Nybegynder
12. marts 2004 - 11:51 Der er 27 kommentarer og
1 løsning

Grafisk fremstilling i jsp

Er det overhovedet muligt at få tegnet en graf med x og y akse, hvor x aksen er hele timer i døgnet (0 - 23)..

er der en der skulle ligge inde med et simpelt eksempel på en graf med x og y akse ??
Avatar billede arne_v Ekspert
12. marts 2004 - 11:56 #1
Til grafik skal du bruge servlet ikke JSP.
Avatar billede t_mons Nybegynder
12. marts 2004 - 11:59 #2
øhhh det er jeg ikke helt med på hvordan man gør det !!! :o(

kan en servlet blive afviklet på en jsp side...
Avatar billede arne_v Ekspert
12. marts 2004 - 12:52 #3
minside.jsp indeholder bare:

<img src="MinServlet?var=xyz">

og MinServlet genererer grafikken.
Avatar billede t_mons Nybegynder
12. marts 2004 - 12:58 #4
MinServlet er det en (java klasse, jsp fil eller ??)  undskyld jeg spørger lidt dumt....
Avatar billede t_mons Nybegynder
12. marts 2004 - 12:59 #5
du skulle vel ikke have et eksempel på en servlet der smider et diagram / eller et par streger ud til klienten
?? :o)
Avatar billede arne_v Ekspert
12. marts 2004 - 14:01 #6
MinServlet er en servlet.

Jeg kan godt prøve at bixe et eksempel, men det bliver først i weekenden.
Avatar billede t_mons Nybegynder
12. marts 2004 - 14:09 #7
Det ville være dejligt, det ville også gøre det mere synligt, med eksempel... 

jeg er helt på bar bund !!!  he he he
Avatar billede arne_v Ekspert
12. marts 2004 - 22:50 #8
blue.jsp:

<img src="Blue"/>

Blue.java:

package test;

import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

import com.sun.image.codec.jpeg.*;

public class Blue extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("image/jpeg");
        BufferedImage bi = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
        Graphics g = bi.getGraphics();
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, 100, 100);
        g.setColor(Color.BLUE);
        g.fillOval(20, 20, 60, 60);
        try {
            JPEGImageEncoder ecd = JPEGCodec.createJPEGEncoder(response.getOutputStream());
            ecd.encode(bi);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (ImageFormatException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

servlet mapping i web.xml:

  <servlet>
    <servlet-name>Blue</servlet-name>
    <servlet-class>test.Blue</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Blue</servlet-name>
    <url-pattern>/Blue</url-pattern>
  </servlet-mapping>

placering:

webapps/e/blue.jsp
webapps/e/WEB-INF/web.xml
webapps/e/WEB-INF/classes/Blue.class

URL:

http://localhost:8080/e/blue.jsp
Avatar billede arne_v Ekspert
12. marts 2004 - 22:50 #9
Rettelse:

webapps/e/WEB-INF/classes/test/Blue.class
Avatar billede arne_v Ekspert
12. marts 2004 - 22:51 #10
Eksemplet er naturligvis trivielt.

Men du kan jo så ligge substans ind i koden.
Avatar billede t_mons Nybegynder
15. marts 2004 - 10:29 #11
jeg tror jeg har lidt problemer med min web.xml

<?xml version="1.0" encoding="ISO-8859-1" ?>
  <servlet>
    <servlet-name>Blue</servlet-name>
    <servlet-class>test.Blue</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Blue</servlet-name>
    <url-pattern>/Blue</url-pattern>
  </servlet-mapping>
Avatar billede arne_v Ekspert
15. marts 2004 - 10:37 #12
Som minimum skal det vel være:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <servlet>
    <servlet-name>Blue</servlet-name>
    <servlet-class>test.Blue</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Blue</servlet-name>
    <url-pattern>/Blue</url-pattern>
  </servlet-mapping>
</web-app>

men jeg ville ikke angive en fuld, da jeg ikke vidste hvor meget du evt.
allerede havde i din web.xml !
Avatar billede t_mons Nybegynder
15. marts 2004 - 10:46 #13
hvad betyder dette...  får ingen fejl i concolen under opstart, men når jeg kalder Blue.jsp  får jeg følgende fejl

2004-03-15 10:45:31 - Ctx( /test ): 404 R( /test + /Blue + null) null
Avatar billede t_mons Nybegynder
15. marts 2004 - 10:48 #14
under webapps har jeg et bibliotek test
under test ligger Blue.jsp og WEB-INF
under WEB-INF ligger web.xml og classes
under classes ligger Blue.class
Avatar billede arne_v Ekspert
15. marts 2004 - 10:51 #15
Hvis du har beholdt package test så skal den ligge som
  webapps\test\WEB-INF\classes\test\Blue.class
Avatar billede t_mons Nybegynder
15. marts 2004 - 10:55 #16
Nu ser min web.xml ud til at virke  får dog følgende fejl

2004-03-15 10:52:49 - Ctx( /test ): Exception in: R( /test + /Blue + null) -
java.lang.NoSuchFieldError: WHITE
        at test.Blue.doGet(Blue.java:20)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
Avatar billede t_mons Nybegynder
15. marts 2004 - 10:56 #17
code compleations  forslå også white  ???
Avatar billede arne_v Ekspert
15. marts 2004 - 11:03 #18
Hvis du bruger Java 1.3, så skal du bruge lowercase.

Sorry.
Avatar billede t_mons Nybegynder
15. marts 2004 - 11:09 #19
1000 tak for din tid, nu vil jeg går igang med en x og y akse...  :o)

orv, hvis man nu vil have skrive en tekst "Hallo world"  ville man så gøre det som i en alm java app. altså i en label..

endnu engang mange tak..
Avatar billede arne_v Ekspert
15. marts 2004 - 11:35 #20
Graphics klassen har en drawString metode.
Avatar billede t_mons Nybegynder
15. marts 2004 - 14:51 #21
lige en sidste ting, hvorfor virker servlet'en ikke når man kører uden port 8080

hvor kan jeg sætte det op...
Avatar billede arne_v Ekspert
15. marts 2004 - 15:40 #22
Har du flyttet Tomcat fra 8080 til 80 ?

Eller kører du Apache foran Tomcat ?
Avatar billede t_mons Nybegynder
15. marts 2004 - 15:54 #23
jeg køre IIS med tomcat3-2-1 - alt det grafiske såsom billeder og stylesheets ligger i wwwroot

alt jsp og java ligger i webapps

dette er kun lokalt - ellers køre mit program på apache foran tomcat
Avatar billede arne_v Ekspert
15. marts 2004 - 15:59 #24
Så er mit gæt at din web server konfigurering kun forwarder *.jsp og ikke
servlet til Tomcat.
Avatar billede arne_v Ekspert
15. marts 2004 - 16:00 #25
Mulige løsninger:
  - forewarde hele web applikationen
  - forwarde hver eneste servlet eksplicit
  - skifte fra servlet mapping til invoker servlet og forwarde udfra den URL
Avatar billede t_mons Nybegynder
15. marts 2004 - 16:09 #26
forwarde hver eneste servlet eksplicit  -  hvordan skal det ske ???
Avatar billede arne_v Ekspert
15. marts 2004 - 17:30 #27
Med apeche.

forward *.jsp:

JkMount *.jsp ajp13

forwarde hele web applikation:

JkMount /test/* ajp13

forwarde hver servlet:

JkMount /test/Blue ajp13
JkMount /test/Red ajp13
JkMount /test/Green ajp13
JkMount /test/Yellow ajp13

forwarde servlet invoker:

JkMount /test/servlet/* ajp13

Jeg ved ikke hvordan det er i IIS.
Avatar billede t_mons Nybegynder
15. marts 2004 - 17:32 #28
takker  :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester