இந்த கட்டுரையில் 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>
-நன்றி
முத்து கார்த்திகேயன், மதுரை.
No comments:
Post a Comment