I am trying to create a register page which business logic is managed in servlet (Controller
class), parameter values are called from a Javabean (Bean
class) and uses a class to handle the database connectivity (Dbconnect
class). We register and then we have to sign in through index.jsp. If the user is valid, the system should display a welcome page (welcome.jsp) showing the user name.
I don't know how to connect these classes to be called through my jsp to process the login. Here is the code showing what I have tried. I had seen many web source but couldn't understand the process..
This is how I think the communication of classes should be:
Dbconnection.java--->bean.java--->Controller.java--->register.jsp--->login.jsp--->welcome.jsp
Index.jsp:
User name:<input type="text" name="username">
Password:<input type="password" name="password">
<input type="submit" name="Login"> <a href="Register.jsp">Register</a>
Register.jsp
<form action="Loginservlet" method="post">
User name:<input type="text" name="name" >
Password:<input type="password" name="pass">
Email-id<input type="text" name="emailid">
phone number:<input type="text" name="phone">
<input type="submit" value="submit"><a href="index.jsp">Login</a>
</form>
Bean.java
package Databases;
public class Bean
{
private String username;
private String password;
private String emailid;
private String phone;
/**
* @return the username
*/
public String getUsername()
{
return username;
}
/**
* @param username the username to set
*/
public void setUsername(String username)
{
this.username = username;
}
/**
* @return the password
*/
public String getPassword()
{
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password)
{
this.password = password;
}
/**
* @return the emailid
*/
public String getEmailid()
{
return emailid;
}
/**
* @param emailid the emailid to set
*/
public void setEmailid(String emailid)
{
this.emailid = emailid;
}
/**
* @return the phone
*/
public String getPhone()
{
return phone;
}
/**
* @param phone the phone to set
*/
public void setPhone(String phone)
{
this.phone = phone;
}
}
Dbconnect.java
package Databases;
import java.io.*;
import java.sql.*;
import java.util.ArrayList;
import java.util.Iterator;
public class Dbconnect
{
public static void main(String args[]) throws ClassNotFoundException
{
Dbconnect db = new Dbconnect();
db.dbconnect();
}
public void dbconnect() throws ClassNotFoundException
{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mine", "root", "android");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from user");
while(rs.next())
{
ArrayList al=new ArrayList();
al.add(rs.getString("name"));
al.add(rs.getString("password"));
al.add(rs.getString("email"));
Iterator it=al.iterator();
while(it.hasNext())
{
System.out.println("value are:"+it.next());
}
}
Controller.java:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.PreparedStatement;
import Databases.Dbconnect;
import Databases.*;
/**
* Servlet implementation class Loginservlet
*/
public class Controller extends HttpServlet
{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name = request.getParameter("name");
String pass = request.getParameter("pass");
String email = request.getParameter("emailid");
String pn = request.getParameter("phone");
System.out.println("Name :" + name);
System.out.println("pass :" + pass);
System.out.println("emailid :" + email);
System.out.println("phone:" + pn);
String a = Bean.setUsername(name);
String b=Bean.setPassword(name);
String c=Bean.setEmailid(name);
String dBean.setPhone(name);
String sql = "insert into user(name,password,email,phone) values(?,?,?,?)";
Dbconnect a = new Dbconnect();
a.dbconnect();
PreparedStatement prep = a.dbconnect().prepareStatement(sql);
// Setting the values which we got from JSP form
prep.setString(1, a);
prep.setString(2, b);
prep.setString(3, c);
prep.setString(4, d);
prep.executeUpdate();
prep.close();
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>WebprojectTry</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>Controller</display-name>
<servlet-name>Controller</servlet-name>
<servlet-class>servlet.Controller</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Controller</servlet-name>
<url-pattern>/Controller</url-pattern>
</servlet-mapping>
</web-app>