/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Problemmer med tomme variabler i public St~
Fra : Peter Bagger


Dato : 30-12-02 21:36

Hej
Jeg er ved at sidder godt fast i følgende problem: (til mit speciale)

jeg er ved at lav en JSP løsnig med en servet, mit problem er at jeg har
oprettet nogle metoder getXXX hvor at mine "globale" variabler få nogle
værdier, men disse værdier kommer ikke ind i min public String getSpg{return
spg;} Jeg ahr lavet en System.out.println, og har her igemmen set at min
værdi i min return er "null"

( jeg har flere andre klasser hvor det virker!!)

her er min kode (klippet)
----------------------------------------------------------------------------
-------------
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.io.Serializable;

public class TestServlet extends HttpServlet
{
private String
userName,password,opretPassword1,opretPassword2,opretUserName,opretEmail;
private String spg;
private boolean kendtUser,kendtUserPassword;
private String OutPut;
private int userID,spgNr;

CheckUser checkuser;
OpretBruger opretbruger;
Question findspg;

//*********************************************************
//Retur metoder
public String getUserName(){return userName;}
public String getPassword(){return password;}
public String getOpretPassword(){return opretPassword1;}
public String getOpretUserName(){return opretUserName;}
public String getOpretEmail(){return opretEmail;}
public String getSpg(){
System.out.println("GETget "+userName+" Spg= "+spg+" UserID= "+userID+
OutPut); //siger at alle værdier er null
return ""+spg;
}
public int getUserID(){ return userID;}
public int getSpgNr(){return spgNr;}
//*********************************************************
private void Checkuser()
{

}

//*********************************************************
private void OpretUser()
{
opretbruger = new OpretBruger(opretUserName,opretPassword1,opretEmail);

}

//*********************************************************
private void FindSpg()
{
System.out.println("GET3 før findspg() "+userName+" Spg= "+spg+" UserID=
"+userID);

findspg = new Question (userName);
System.out.println("GET4 FindSpg før getSpg "+userName+" Spg= "+spg+"
UserID= "+userID);

spg = findspg.getSpg();
userID =findspg.getUserID();
spgNr =findspg.getSpgNr();
System.out.println("GET5 FindSpg EFTER getSpg "+userName+" Spg= "+spg+"
UserID= "+userID+spgNr);

}

//*********************************************************
public void init (ServletConfig config) throws ServletException
{
super.init(config);
}

//*********************************************************
// process "Post" request from client
protected void doPost( HttpServletRequest request,
HttpServletResponse response )
throws ServletException, IOException

{
response.setContentType( "text/html" );
PrintWriter out = response.getWriter();

HttpSession session = request.getSession(true);
Enumeration parameter = request.getParameterNames();

if (request.getParameter("Login") !=null)
{
userName = request.getParameter( "UserName" );
password = request.getParameter( "Password" );

Checkuser();

if ((kendtUserPassword == true)&&(kendtUser == true))
{
FindSpg();
response.sendRedirect( "/speciale/servlets/Question.jsp" );
}

out.println( "<?xml version = \"1.0\"?>" );

out.println( "<!DOCTYPE html PUBLIC \"-//W3C//DTD " +
"XHTML 1.0 Strict//EN\" \"http://www.w3.org" +
"/TR/xhtml1/DTD/xhtml1-strict.dtd\">" );

out.println(
"<html xmlns = \"http://www.w3.org/1999/xhtml\">" );

// head section of document
out.println( "<head>" );
out.println(
"<title>Fejl Login</title>" );
out.println( "</head>" );

// body section of document
out.println( "<body>" );
out.println( "<h1>UserName = " + userName + ".<br />" );
out.println( "Password = " + password + ",<br />" );
out.println( "Du har indtastet forkert Brugernavn eller
password</h1>" );
out.println( "<br /><br /><br />USER state = "+kendtUser+"\nKODE state
= "+kendtUserPassword +OutPut+"" );
out.println( "</body>" );

// end XHTML document
out.println( "</html>" );
out.close(); // close stream to complete the page
}

if (request.getParameter("Opret") !=null)
{
response.sendRedirect( "/speciale/servlets/NyBruger.jsp" );
}

if (request.getParameter("Godkend") !=null)
{
opretUserName = request.getParameter( "UserName" );
opretPassword1 = request.getParameter( "Password1" );
opretPassword2 = request.getParameter( "Password2" );
opretEmail = request.getParameter( "Email");

if (!(opretPassword1.equals(opretPassword2))&& (opretPassword1 != null))
{
response.sendRedirect( "/speciale/servlets/NyBruger.jsp" );
}
if (opretPassword1.equals(opretPassword2))
{
OpretUser();
}
}
}
//*********************************************************
// process "Get" request from client
protected void doGet( HttpServletRequest request,
HttpServletResponse response )
throws ServletException, IOException
{
response.setContentType( "text/html" );
PrintWriter out = response.getWriter();
HttpSession session = request.getSession(true);
Enumeration parameter = request.getParameterNames();

if ((request.getParameter("next") !=null)&& ((kendtUserPassword==true)&&
(kendtUser==true)))
{
//find spørgsmål
System.out.println("GET1 "+userName+" Spg= "+spg+" UserID= "+userID);
FindSpg();
System.out.println("GET2 "+userName+" Spg= "+spg+" UserID= "+userID);
response.sendRedirect( "/speciale/servlets/Question.jsp" );
}

if ((request.getParameter("next") !=null)&&
((kendtUserPassword!=true)||(kendtUser!=true)))
{
out.println( "<?xml version = \"1.0\"?>" );

out.println( "<!DOCTYPE html PUBLIC \"-//W3C//DTD " +
"XHTML 1.0 Strict//EN\" \"http://www.w3.org" +
"/TR/xhtml1/DTD/xhtml1-strict.dtd\">" );

out.println(
"<html xmlns = \"http://www.w3.org/1999/xhtml\">" );

// head section of document
out.println( "<head>" );
out.println( "<title>Error login</title>" );
out.println( "</head>" );

// body section of document
out.println( "<body>" );
out.println( "<h1>FEJL du er ikke logget ind <br /></h1><br />" );
out.println( "<h2>Du kan enten logge ind <br />" );
out.println( "Eller <br /> oprette dig som ny bruger</h2>" );
out.println( "<br /><br />USER state = "+kendtUser+"\nKODE state =
"+kendtUserPassword +OutPut+"" );
out.println( "</body>" );

// end XHTML document
out.println( "</html>" );
out.close(); // close stream to complete the page
}
}
//*********************************************************
}

--
Mvh.
Peter Bagger




 
 
Jonas Kongslund (30-12-2002)
Kommentar
Fra : Jonas Kongslund


Dato : 30-12-02 23:00

Peter Bagger wrote:

> Hej
> Jeg er ved at sidder godt fast i følgende problem: (til mit speciale)
>
> jeg er ved at lav en JSP løsnig med en servet, mit problem er at jeg har
> oprettet nogle metoder getXXX hvor at mine "globale" variabler få nogle
> værdier, men disse værdier kommer ikke ind i min public String
> getSpg{return spg;} Jeg ahr lavet en System.out.println, og har her
> igemmen set at min værdi i min return er "null"

Hej Peter

En kort sidebemærkning: Undgå at bruge instansvariable i din servlet for som
din implementation ser ud nu så er den ikke trådsikker. Det *vil* der komme
en masse bøvl ud af.

En anden kort sidebemærkning: alt afhængigt af projektets størrelse så kan
det være fordelagtigt at se nærmere på Struts,
<http://jakarta.apache.org/struts/>, som er et framework til at bygge
webapplikationer med.

--
Jonas Kongslund <jonas(at)kongslund.dk> http://www.kongslund.dk/
The programmer, like the poet, works only slightly removed from pure
thought-stuff. He builds his castles in the air, from air, creating by
exertion of the imagination. [Brooks, The Mythical Man-Month]

Ukendt (01-01-2003)
Kommentar
Fra : Ukendt


Dato : 01-01-03 18:27

Peter Bagger wrote:
> Hej
> Jeg er ved at sidder godt fast i følgende problem: (til mit speciale)
>
> jeg er ved at lav en JSP løsnig med en servet, mit problem er at jeg har
> oprettet nogle metoder getXXX hvor at mine "globale" variabler få nogle
> værdier, men disse værdier kommer ikke ind i min public String getSpg{return
> spg;} Jeg ahr lavet en System.out.println, og har her igemmen set at min
> værdi i min return er "null"
>
> ( jeg har flere andre klasser hvor det virker!!)
>
> her er min kode (klippet)
> ----------------------------------------------------------------------------
> -------------
> import javax.servlet.*;
> import javax.servlet.http.*;
> import java.io.*;
> import java.util.*;
> import java.io.Serializable;
>
> public class TestServlet extends HttpServlet
> {
> private String
> userName,password,opretPassword1,opretPassword2,opretUserName,opretEmail;
> private String spg;
> private boolean kendtUser,kendtUserPassword;
> private String OutPut;
> private int userID,spgNr;
>
> CheckUser checkuser;
> OpretBruger opretbruger;
> Question findspg;
>
> //*********************************************************
> //Retur metoder
> public String getUserName(){return userName;}
> public String getPassword(){return password;}
> public String getOpretPassword(){return opretPassword1;}
> public String getOpretUserName(){return opretUserName;}
> public String getOpretEmail(){return opretEmail;}
> public String getSpg(){
> System.out.println("GETget "+userName+" Spg= "+spg+" UserID= "+userID+
> OutPut); //siger at alle værdier er null
> return ""+spg;
> }
> public int getUserID(){ return userID;}
> public int getSpgNr(){return spgNr;}
> //*********************************************************
> private void Checkuser()
> {
>
> }
>
> //*********************************************************
> private void OpretUser()
> {
> opretbruger = new OpretBruger(opretUserName,opretPassword1,opretEmail);
>
> }
>
> //*********************************************************
> private void FindSpg()
> {
> System.out.println("GET3 før findspg() "+userName+" Spg= "+spg+" UserID=
> "+userID);
>
> findspg = new Question (userName);
> System.out.println("GET4 FindSpg før getSpg "+userName+" Spg= "+spg+"
> UserID= "+userID);
>
> spg = findspg.getSpg();
> userID =findspg.getUserID();
> spgNr =findspg.getSpgNr();
> System.out.println("GET5 FindSpg EFTER getSpg "+userName+" Spg= "+spg+"
> UserID= "+userID+spgNr);
>
> }
>
> //*********************************************************
> public void init (ServletConfig config) throws ServletException
> {
> super.init(config);
> }
>
> //*********************************************************
> // process "Post" request from client
> protected void doPost( HttpServletRequest request,
> HttpServletResponse response )
> throws ServletException, IOException
>
> {
> response.setContentType( "text/html" );
> PrintWriter out = response.getWriter();
>
> HttpSession session = request.getSession(true);
> Enumeration parameter = request.getParameterNames();
>
> if (request.getParameter("Login") !=null)
> {
> userName = request.getParameter( "UserName" );
> password = request.getParameter( "Password" );
>
> Checkuser();
>
> if ((kendtUserPassword == true)&&(kendtUser == true))
> {
> FindSpg();
> response.sendRedirect( "/speciale/servlets/Question.jsp" );
> }
>
> out.println( "<?xml version = \"1.0\"?>" );
>
> out.println( "<!DOCTYPE html PUBLIC \"-//W3C//DTD " +
> "XHTML 1.0 Strict//EN\" \"http://www.w3.org" +
> "/TR/xhtml1/DTD/xhtml1-strict.dtd\">" );
>
> out.println(
> "<html xmlns = \"http://www.w3.org/1999/xhtml\">" );
>
> // head section of document
> out.println( "<head>" );
> out.println(
> "<title>Fejl Login</title>" );
> out.println( "</head>" );
>
> // body section of document
> out.println( "<body>" );
> out.println( "<h1>UserName = " + userName + ".<br />" );
> out.println( "Password = " + password + ",<br />" );
> out.println( "Du har indtastet forkert Brugernavn eller
> password</h1>" );
> out.println( "<br /><br /><br />USER state = "+kendtUser+"\nKODE state
> = "+kendtUserPassword +OutPut+"" );
> out.println( "</body>" );
>
> // end XHTML document
> out.println( "</html>" );
> out.close(); // close stream to complete the page
> }
>
> if (request.getParameter("Opret") !=null)
> {
> response.sendRedirect( "/speciale/servlets/NyBruger.jsp" );
> }
>
> if (request.getParameter("Godkend") !=null)
> {
> opretUserName = request.getParameter( "UserName" );
> opretPassword1 = request.getParameter( "Password1" );
> opretPassword2 = request.getParameter( "Password2" );
> opretEmail = request.getParameter( "Email");
>
> if (!(opretPassword1.equals(opretPassword2))&& (opretPassword1 != null))
> {
> response.sendRedirect( "/speciale/servlets/NyBruger.jsp" );
> }
> if (opretPassword1.equals(opretPassword2))
> {
> OpretUser();
> }
> }
> }
> //*********************************************************
> // process "Get" request from client
> protected void doGet( HttpServletRequest request,
> HttpServletResponse response )
> throws ServletException, IOException
> {
> response.setContentType( "text/html" );
> PrintWriter out = response.getWriter();
> HttpSession session = request.getSession(true);
> Enumeration parameter = request.getParameterNames();
>
> if ((request.getParameter("next") !=null)&& ((kendtUserPassword==true)&&
> (kendtUser==true)))
> {
> //find spørgsmål
> System.out.println("GET1 "+userName+" Spg= "+spg+" UserID= "+userID);
> FindSpg();
> System.out.println("GET2 "+userName+" Spg= "+spg+" UserID= "+userID);
> response.sendRedirect( "/speciale/servlets/Question.jsp" );
> }
>
> if ((request.getParameter("next") !=null)&&
> ((kendtUserPassword!=true)||(kendtUser!=true)))
> {
> out.println( "<?xml version = \"1.0\"?>" );
>
> out.println( "<!DOCTYPE html PUBLIC \"-//W3C//DTD " +
> "XHTML 1.0 Strict//EN\" \"http://www.w3.org" +
> "/TR/xhtml1/DTD/xhtml1-strict.dtd\">" );
>
> out.println(
> "<html xmlns = \"http://www.w3.org/1999/xhtml\">" );
>
> // head section of document
> out.println( "<head>" );
> out.println( "<title>Error login</title>" );
> out.println( "</head>" );
>
> // body section of document
> out.println( "<body>" );
> out.println( "<h1>FEJL du er ikke logget ind <br /></h1><br />" );
> out.println( "<h2>Du kan enten logge ind <br />" );
> out.println( "Eller <br /> oprette dig som ny bruger</h2>" );
> out.println( "<br /><br />USER state = "+kendtUser+"\nKODE state =
> "+kendtUserPassword +OutPut+"" );
> out.println( "</body>" );
>
> // end XHTML document
> out.println( "</html>" );
> out.close(); // close stream to complete the page
> }
> }
> //*********************************************************
> }
>
> --
> Mvh.
> Peter Bagger
>
>
>
Hej Peter

Du bør nok læse lidt mere på hvordan en webserver arbejder, hvis dette
skal afleveres i dit speciale....

Kig også på session objektet.....

De fleste bruger en database til at udføre det du gør. Hvis din
web-applikation/server dør er alle bruger informationerne væk!!!!! Men
ellers hvis du vil lave det som overstående skal du nok bruge en static
servlet eller ligende og så skal du helt sikker også havde styr på din
tråde.... som Jonas Kongslund skriver.......

Cheers, Frank


Søg
Reklame
Statistik
Spørgsmål : 177492
Tips : 31966
Nyheder : 719565
Indlæg : 6408466
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste