Hello,
I've been working out the applet program since last
night but still could not get it correct. I think that
the codeBase variable path that was initialised in the
applet program is not correct. I put the
LoginApplet.class in
C:\jakarta-tomcat-4.1.31\webapps\myapp\applets. It's
just a matter of writing the codeBase variable the
correct way. Can anyone please give me any
suggestions? Please Help Me! Hoping for a reply. Thank
you.
TEH NORANIS
--- Teh Noranis Mohd Aris <[EMAIL PROTECTED]>
wrote:
> Hi,
>
> I'm sorry, I didn't realize about the attachment
> capability for this mailing list. However here are
> the programs that I attached previously. Hope
> someone can help me out. Thank you.
>
> 1. THE SERVLET PROGRAM:
>
> package myapp;
> import javax.servlet.*;
> import javax.servlet.http.*;
> import java.io.ByteArrayOutputStream;
> import java.io.DataInputStream;
> import java.io.DataOutputStream;
> import java.io.IOException;
> import java.io.PrintWriter;
> import java.util.Hashtable;
> public class AppletLogin extends HttpServlet
> {
> public static String USER_KEY =
> "ServletLogin.user";
>
> static Hashtable crossRef = new Hashtable();
>
> public void doGet(HttpServletRequest req,
> HttpServletResponse resp)
> throws ServletException, java.io.IOException
> {
> resp.setContentType("text/html");
>
> PrintWriter out = resp.getWriter();
>
> resp.setHeader("Expires", "Tues, 01 Jan 1980
> 00:00:00 GMT");
>
> HttpSession session = req.getSession();
> String user = (String)
> session.getAttribute(USER_KEY);
>
> if (user == null)
> {
> user = (String)
> crossRef.get(session.getId());
>
> if (user != null)
> {
> session.setAttribute(USER_KEY, user);
> crossRef.remove(session.getId());
> }
>
>
> }
>
> if (user == null)
> {
> login(out, req, resp);
> return;
> }
>
> out.println("<html>");
> out.println("<head>");
> out.println("<title>Welcome</title>");
> out.println("</head>");
> out.println("<body>");
> out.println("<center><h2>Welcome to our
> site!</h2>");
> out.println("<br>");
> out.println("More cool stuff coming soon...");
> out.println("</center>");
>
> out.println("</body>");
> out.println("</html>");
> out.flush();
> }
>
> public void doPost(HttpServletRequest req,
> HttpServletResponse resp)
> throws ServletException, java.io.IOException
> {
> DataInputStream in = new
> DataInputStream(req.getInputStream());
>
> resp.setContentType("application/octet-stream");
>
> ByteArrayOutputStream byteOut = new
> ByteArrayOutputStream();
>
> DataOutputStream out = new
> DataOutputStream(byteOut);
>
> String sessionId = in.readUTF();
>
> String user = in.readUTF();
> String password = in.readUTF();
>
> if (!validUser(user, password))
> {
> out.writeBoolean(false);
> }
> else
> {
> crossRef.put(sessionId, user);
> out.writeBoolean(true);
>
> String nextPage = req.getScheme() + "://" +
>
> req.getServerName() + ":" +
> req.getServerPort() +
> req.getRequestURI();
>
> out.writeUTF(nextPage);
> }
>
> out.flush();
>
> byte[] buf = byteOut.toByteArray();
>
> resp.setContentLength(buf.length);
>
> ServletOutputStream servletOut =
> resp.getOutputStream();
>
> servletOut.write(buf);
> servletOut.close();
> }
>
> protected void login (PrintWriter out,
> HttpServletRequest req,
> HttpServletResponse resp)
> throws java.io.IOException
> {
> HttpSession session = req.getSession();
>
> out.println("<html>");
> out.println("<head>");
> out.println("<title>Login</title>");
> out.println("<center><h2>Welcome! Please
> login</h2>");
> out.println("<applet width=300 height=120");
> out.println("name=\"LoginApplet\"");
> out.println("codebase=\"" + req.getContextPath()
> + "/applets/\"");
>
> out.println("code=\"webide.applets.LoginApplet\">");
> out.println("<param name=\"servlet\" value=\"" +
> req.getRequestURI() + "\">");
> out.println("<param name=\"id\" value=\"" +
> session.getId() + "\">");
> out.println("</applet>");
> out.println("</center></body></html>");
>
> }
>
> protected boolean validUser(String username,
> String password)
> {
> boolean valid = false;
>
> if ((username != null) && (username.length() >
> 0))
> {
> valid = username.equals(password);
> }
>
> return valid;
>
> }
>
> }
>
> 2. THE APPLET PROGRAM:
>
> package myapp.applets;
> import java.applet.*;
> import java.awt.*;
> import java.io.*;
> import java.net.*;
> public class LoginApplet extends Applet
> {
> TextField username;
> TextField password;
> Label message;
> Button login;
> String codeBase;
> String servlet;
> String nextDoc;
> String sessionId;
>
> public void init()
> {
> codeBase = "" + getCodeBase();
> servlet = getParameter("servlet");
>
> if (servlet != null)
> {
> if (servlet.startsWith("/") &&
> codeBase.endsWith("/"))
> {
> codeBase =
> codeBase.substring(0,codeBase.length() - 1);
>
=== message truncated ===
____________________________________________________________________________________
Finding fabulous fares is fun.
Let Yahoo! FareChase search your favorite travel sites to find flight and hotel
bargains.
http://farechase.yahoo.com/promo-generic-14795097
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]