Wednesday, September 26, 2018

ஜாவா சர்வர் பேஜஸ் லாக் இன் மற்று லாக் அவுட்



இந்த கட்டுரையில் JSP பயன்படுத்தி எவ்வாறு லாக் இன் மற்றும் லாக் அவுட் ஃபார்ம் உருவாக்கலாம் என்பது குறித்து பார்ப்போம். பயனர் இன்புட் கொடுக்கும் போது அது டேட்டா பேஸுடன் தொடர்பு கொண்டு அதை வேலிடேட் செய்கின்றது. எனவே முதலில் டேட்டா பேஸில் நாம் ஏற்கனவே மதிப்புகள் கொடுத்திருக்க வேண்டும்.
இங்கு JSP implicit session பயன்படுத்தி இருக்கின்றது. setAtttribute பயன்படுத்தி session attribute மதிப்பை set செய்கின்றது. getAttribute பயன்படுத்தி session attribute மதிப்பை get செய்கின்றது. Session.invlaidateபயன்படுத்தி செஸனை முடிக்கின்றது.                           
மற்ற பக்கங்கள்  home.jsp, login.jsp, logout.jsp, welcome.jsp, error.jsp மற்றும் index.jsp ஆகியவற்றையும் உருவாக்குவோம்.
கீழே உள்ள படத்தில்  டேட்டா பேசில் யூசர் நேம், பாஸ்வேர்டு கொடுக்கப்பட்டுள்ளது.

home.jsp
ecplise எடிட்டரில் கீழே உள்ள படத்தில் உள்ளது போல் கோடிங் இருக்கும்.ஹோம் பேஜ் ஆனது யூசர் நேம் பாஸ் வேர்டு கொடுக்கும் கோடிங்கை கொண்டுள்ளது.
 
<%@ page import="java.sql.*" %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Home</title>

</head>

<body>

<%

Connection con= null;

PreparedStatement ps = null;

ResultSet rs = null;



String driverName = "com.mysql.jdbc.Driver";

String url = "jdbc:mysql://localhost:3306/record";

String user = "root";

String password = "root";



String sql = "select usertype from userdetail";



try {

Class.forName(driverName);

con = DriverManager.getConnection(url, user, password);

ps = con.prepareStatement(sql);

rs = ps.executeQuery();

%>

<form method="post" action="login.jsp">

<center><h2 style="color:green">JSP Login Example</h2></center>

<table border="1" align="center">

<tr>

<td>Enter Your Name :</td>

<td><input type="text" name="name"/></td>

</tr>

<tr>

<td>Enter Your Password :</td>

<td><input type="password" name="password"/></td>

</tr>

<tr>

<td>Select UserType</td>

<td><select name="usertype">

<option value="select">select</option>

<%

while(rs.next())

{

String usertype = rs.getString("usertype");

%>

<option value=<%=usertype%>><%=usertype%></option>

<%

}

}

catch(SQLException sqe)

{

out.println("home"+sqe);

}

%>

</select>

</td>

</tr>

<tr>

<td></td>

<td><input type="submit" value="submit"/></td>

</table>

</form>

</body>

</html>
login.jsp
login.jsp ஃபைல் ஆனது கீழே உள்ள படத்தில் உள்ளது போல் இருக்கும்.இந்த பக்கத்தில் நாம் கொடுக்கும் இன்புட் ஆனது டேட்டா பேஸுடன் வேலிடேட் செய்யும் கோடிங்க் உள்ளது.

 
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Login</title>

</head>

<body>

<%! String userdbName;

String userdbPsw;

String dbUsertype;

%>

<%

Connection con= null;

PreparedStatement ps = null;

ResultSet rs = null;



String driverName = "com.mysql.jdbc.Driver";

String url = "jdbc:mysql://localhost:3306/record";

String user = "root";

String dbpsw = "root";



String sql = "select * from userdetail where name=? and password=? and usertype=?";



String name = request.getParameter("name");

String password = request.getParameter("password");

String usertype = request.getParameter("usertype");



if((!(name.equals(null) || name.equals("")) && !(password.equals(null) ||
password.equals(""))) && !usertype.equals("select"))

{

try{

Class.forName(driverName);

con = DriverManager.getConnection(url, user, dbpsw);

ps = con.prepareStatement(sql);

ps.setString(1, name);

ps.setString(2, password);

ps.setString(3, usertype);

rs = ps.executeQuery();

if(rs.next())

{

userdbName = rs.getString("name");

userdbPsw = rs.getString("password");

dbUsertype = rs.getString("usertype");

if(name.equals(userdbName) && password.equals(userdbPsw) && usertype.equals(dbUsertype))

{

session.setAttribute("name",userdbName);

session.setAttribute("usertype", dbUsertype);

response.sendRedirect("welcome.jsp");

}

}

else

response.sendRedirect("error.jsp");

rs.close();

ps.close();

}

catch(SQLException sqe)

{

out.println(sqe);

}

}

else

{

%>

<center><p style="color:red">Error In Login</p></center>

<%

getServletContext().getRequestDispatcher("/home.jsp").include(request,
response);

}

%>

</body>

</html>
கீழே உள்ளது லாக் இன் ஃபார்ம் ஆகும்.

welcome.jsp
சரியான யூசர் நேம் மற்றும் பாஸ் வேர்டு கொடுக்கும் போது welcome. jsp தோன்றும். அதற்கான கோடிங்க் கீழே உள்ளது.


<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Welcome</title>

</head>

<body>

<p>Welcome, <%=session.getAttribute("name")%></p>

<p><a href="logout.jsp">Logout</a>

</body>

</html>
கீழே உள்ளது லாக் இன் ஃபார்ம் படம்.
error.jsp

error page ஆனது பின் வரும் கோடிங்கை கொண்டிருக்கும்.லாக் இன் டேட்டா தவறு எனில் இது பிழை சுட்டிக் காட்டும்
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Login Error</title>

</head>

<body>

<center><p style="color:red">Sorry, your record is not available.</p></center>

<%

getServletContext().getRequestDispatcher("/home.jsp").include(request,
response);

%>

</body>

</html>
logout.jsp
 logout page  ஆனது இந்த கோடிங்கை கொண்டிருக்கும்.
 
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Logout</title>

</head>

<body>

<% session.invalidate(); %>

<p>You have been successfully logout</p>

</body>

</html>
-நன்றி
முத்து கார்த்திகேயன், மதுரை.
ads Udanz

No comments:

Post a Comment