Søger du en specifik kategori?

 



Oprettet lør. d. 28. februar 2009 kl. 14:03

arne_v
arne_v (1.016.094 point)
Guidens karaktér
1
2
3
4
5

Web applikationer i Java

Denne artikel introducerer web applikationer i Java. Den beskriver teknologien, forklarer hvilket software man kan bruge, viser hvordan man kan arbejde og giver links til mere information. Det er ikke en egentlig tutorial.
Historie:
V1.0 - 12/01/2004 - original
V1.1 - 31/01/2004 - forbedret formatering + lidt mere om hvad det er godt til
Introduktion
Java teknologi dækker efterhånden de fleste software områder. Og
selvfølgelig har Java også et bud på web applikationer.

De to Java standarder på dette område er:
  * servlets, som er rene Java kode moduler i stil med ISAPI og NSAPI
  * JSP (Java Server Pages) som er HTML sider med embbeded kode
    ligesom ASP og PHP (det er bare Java kode i <% %>)

JSP er selvfølgelig mere brugt end servlets idag, men der er
to gode grunde til at lære servlets alligevel:
  * der er enkelte situationer hvor en servlet er bedre end en JSP side
  * de fleste fif man lærer i forbindelse med servlets kan umiddelbart
    også bruges med JSP

JSP og servlet udgør sammen med EJB (Enterprise Java Beans) og
JCA (Java Connector Architecture) det man kalder J2EE (Java 2
Enterprise Edition).

JSP og servlet er nok lidt sværere at komme igang med end
ASP og PHP. De forudsætter at man kan Java. Der er forholdsvis
mange ting som man skal sætte sig ind i for at kunne komme
igang.

Til gengæld er det en teknologi som er logisk opbygget og designet
til at skalere til store løsninger.

JSP/Servlet bruges som oftest til integrerede e-business løsninger
sammen med resten af J2EE (EJB og JCA).

Der er forholdsvis få af de web hoteller der henvender sig til
private og mindre firmaer som understøtter JSP og servlets.

Dem der bruger J2EE teknologi hoster som oftest selv.

Simple eksempler
Vi tager lige to små eksempler for at illustere teknologien.

HelloWorldServlet.java


package test;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.net.*;
import java.util.*;

public class HelloWorldServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        response.setContentType("text/html");
        out.println("Hello world - time is " + (new Date()) + " !");
    }
}


HelloWorld.jsp


<%@page import="java.util.*"%>
Hello world - time is <%=(new Date())%> !


Hvordan kommer man igang
Der er adskillige muligheder for server. Komplette J2EE applikations
servere: IBM WebSphere, BEA WebLogic, JBoss, Oracle, SUN, Pramati,
Borland Enterprise Server, Macromedia JRun. JSP/Servlet engine:
Tomcat, Caucho Resin, neddroslede versioner af IBM/BEA/Borland
J2EE applikations servere.

Tomcat er den mest brugte, er  og er gratis til både udvikling og produktion.
Så du går ikke helt galt med den.

En meget vigtig ting ved Java web applikationer er directory strukturen. Den
skal være på en bestemt måde ellers virker applikationen ikke.

En typisk directory struktur ser ud som:

minapplikation
  *.jsp
  WEB-INF
      web.xml
      classes
        minpakke
            *Servlet.class
            *Bean.class
      lib
        *.jar


Man kan normalt enten deploye ved at kopiere minapplikation directory
ind under serverens webapps directory eller ved at kopiere en war
fil til serverens webapps directory. En war fil er bare en jar fil med
ovenstående directory struktur.

web.xml indeholder web applikationens konfiguration. Man kan putte meget
i den, men man kan starte med en fil som:

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


En bean er en almindelig Java klasse som kan bruges fra
servlet og JSP. En utility klasse. For at være en ægte
bean klasse skal den opfylde nogle formelle betingelser,
men det er sjældent noget problem.

En servlet skal man selv compile inden man deployer, mens
JSP compiles af serveren.

Det er værd at notere sig at JSP dobbelt compiles. Først
compiler jspc fra JSP til servlet og så compiler javac fra
servlet til binær byte kode. Det har to afledte effekter.
For det første kræver JSP at man har en fuld Java SDK, fordi
man skal bruge javac. For det andet kan man genbruge en masse
servlet kode teknik i JSP, fordi JSP netop compiles til en servlet.

Det kan anbefales at bygge sine war filer med det tool som
hedder ant. Det kender strukturen af det hele og sikrer at
det bliver pakket rigtigt.

Vigtige tips:
  - undlad at installere Java SDK eller Tomcat i directory med
    mellemrum i da det kan give mange problemer
  - put altid både servlets og beans i en pakke da brug af
    default pakke kan give mange problemer

For at komme igang med JSP og servlets kan man læse bl.a.:
  http://java.sun.com/ (...)  (chapter 11-16)
  http://csajsp-chapters.corewebprogramming.com/ (...)

Men hvis du skal seriøst igang med JSP og servlet skal du nok ud
og købe nogle bøger.

En fornuftig række følge kunne være:
  - simple servlets
  - simple JSP
  - brug af beans fra servlet og JSP
  - brug af container managed form based security
  - bruge af container managed database connection pool
  - standard tag library
  - egne tag libraries
  - expression language
  - web frameworks som Struts og Webwork

Jeg vil muligvis senere skrive en eller flere artikler om disse
emner.

Skrevet man. d. 12. januar 2004 kl. 22:21| #1

repsak (19.442 point)
Giver et udemærket overblik over servlet/JSP. Savner dog nogle flere argumenter omkring hvad der bruges til hvad (også omkring sikkerhedsaspektet:-)

Skrevet ons. d. 14. januar 2004 kl. 02:54| #2

fin intro, flere artikler om emnet er velkomne :)

Skrevet tir. d. 25. maj 2004 kl. 10:26| #3


Skrevet tir. d. 27. juli 2004 kl. 17:31| #4


Skrevet man. d. 23. august 2004 kl. 22:16| #5

ciffer (14.760 point)
Giver en god intro til servlets/JSP. En uddybende artikel omkring disse emner ville være super :-)

Skrevet søn. d. 15. maj 2005 kl. 02:59| #6


Skrevet tir. d. 06. september 2005 kl. 21:04| #7

jenniferw (12.525 point)
God generel introduktion.

Skriv en kommentar



Mest populære guides

Guidens karakter
!!!Karaktér: 3
14 stemmer
31/01 - 2011
Af: heinzdmx

Dropbox - gratis online lagerplads

Jeg vil i denne guide forklare lidt om hvad Dropbox er og også hvordan du får mest mulig plads på Dropbox. Dropbox er kort sagt en service hvor du har dine data lagt til backup på både nettet og din egen computer.
Guidens karakter
!!!Karaktér: 4
33 stemmer
02/02 - 2009
Af: jkrons

Dato- og tidsberegninger i Excel

En introduktion til simple beregninger med dato og tid i Excel. Opdateret med afsnit om beregning af tillæg.
Excel  |  Læs »
Guidens karakter
!!!Karaktér: 4
21 stemmer
06/11 - 2011
Af: fromsej

Sådan fjerner du virus og malware

Udviklingen går stærkt på "skidt"fronten, så vi har sammensat en ny og effektiv programpakke til fjernelse af det.
Virus  |  Læs »

Log ind

   

   



   




Tips & Tricks fra PC World

Teaser billede

Top 5: Virale YouTube-videoer fra Danmark

Lægger du mærke til de mere eller mindre skjulte reklamebudskaber, når du ser videoer på nettet? Vi har taget et kig på fem utrolige danske videoer, som er blevet virale hit.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan fupper smarte svindlere dig på Facebook

Se hvordan du undgår Facebook-fup i fremtiden.


Nyheder fra Computerworld

Teaser billede

App-udvikling 2.0: Sådan er den perfekte app

ComputerViews: Den værste app-hype er ved at have lagt sig, og nu ser vi konturerne af fremtidens app-design. Men hvordan udnytter man de mobile muligheder optimalt?


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger