---
title: "Java - LoginServlet"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/63825-java-loginservlet"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "AG"
published: "2003-01-04T14:21:04.000Z"
updated: "2003-01-04T14:21:04.000Z"
replies: 0
views: 1638
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/63825-java-loginservlet"
---

# Java - LoginServlet

## #1 — AG, 2003-01-04T14:21Z

Tänkte dela med mig av en, egenkomponerat, servlet som används vid användarverifikation, dvs. som loginservlet.

```
import java.io.*;
import java.util.*;

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

import java.sql.*;
import javax.sql.*;

public class LoginServlet extends HttpServlet {
  public void doPost (
	HttpServletRequest	request,
	HttpServletResponse	response
    ) throws ServletException, IOException
  {
  doGet(request,response);
  }

  public void doGet (
	HttpServletRequest	request,
	HttpServletResponse	response
    ) throws ServletException, IOException
  {
   HttpSession session = request.getSession(true);
   PrintWriter out = response.getWriter();

	try {
		String driverName="sun.jdbc.odbc.JdbcOdbcDriver"; 
		String dbUrl="jdbc:odbc:login";
		Class.forName(driverName);
		Connection db =DriverManager.getConnection(dbUrl,"","");

		if ((session.getAttribute("user") == null) || (!session.getAttribute("ip").equals(request.getRemoteAddr()))){

			PreparedStatement pStmt = db.prepareStatement("SELECT * FROM [login] WHERE [account] =? AND password=? AND [activated] = 1 ");
			pStmt.setString(1, request.getParameter("account"));
			pStmt.setString(2, request.getParameter("password"));
			ResultSet rs = pStmt.executeQuery();
			
			if(!rs.next()){
				System.out.println("Account is not valid.");
				request.setAttribute("msg", "Account is not valid.");
				RequestDispatcher rd = request.getRequestDispatcher("../login/index.jsp");
				rd.forward(request, response); 
			} 

			else do {
				int id = rs.getInt(1);
				String account = rs.getString(2);  
				session.setAttribute("user", new Integer(id));
				session.setAttribute("account", account);
				session.setAttribute("ip", request.getRemoteAddr());
				System.out.println("User " + session.getAttribute("user") +" has logged on.");

				request.setAttribute("msg", "User has logged on.");
				RequestDispatcher rd = request.getRequestDispatcher("../login/index.jsp");
				rd.forward(request, response); 
			} while(rs.next());
			rs.close();
			
		
		}
	
		else {
			System.out.println("User has already logged on.");
				request.setAttribute("msg", "User has already logged on.");
				RequestDispatcher rd = request.getRequestDispatcher("../login/index.jsp");
				rd.forward(request, response); 
		}

		db.close();
	}

	catch(Exception exp){
		System.out.println("Exception: "+ exp);
	}

   out.close();

  }	
}
```

På de sidor som sedan omfattas av själva loginproceduren adderas följande rader:

```
<%
if ((session.getAttribute("user") == null) || (!session.getAttribute("ip").equals(request.getRemoteAddr()))){
response.sendRedirect("index.jsp");
}
%>
```

Hoppas det duger hyfsat iaf.

Andreas

Permalänk: https://www.webforum.nu/p/63825

---

Tråden på webben: https://www.webforum.nu/amne/programmering/63825-java-loginservlet
