Wednesday, December 18, 2013

Struts Crude

index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>User Registration</title>
</head>
<body>

<s:form action="addUser">
    <s:textfield name="user.userName" label="User Name" />
    <s:password name="user.password" label="Password" />
    <s:textfield name="user.email" label="email"/>
   
    <s:submit name="submit" value="Add User" />   
</s:form>
<br />
<s:a href="listUser.action">Show List of Users</s:a>
</body>
</html>

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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    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>StrutsDataBase</display-name>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <filter>
        <filter-name>strtus2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>strtus2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

struts.xml

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <constant name="struts.ognl.allowStaticMethodAccess" value="false" />

    <package name="default" extends="struts-default">
        <action name="addUser" class="com.action.struts.Registration" method="addUser">
            <result name="success" type="redirect">listUser.action</result>
            <result name="input">/index.jsp</result>
        </action>
        <action name="updateUser" class="com.action.struts.Registration" method="updateUser">
            <result name="success" type="redirect">listUser.action</result>
            <result name="input">/edituser.jsp</result>
        </action>
        <action name="editUser" class="com.action.struts.Registration" method="editUser">
            <result name="success">edituser.jsp</result>
        </action>
        <action name="deleteUser" class="com.action.struts.Registration" method="deleteUser">
            <result name="success" type="redirect">listUser.action</result>
        </action>
        <action name="listUser" class="com.action.struts.Registration" method="listUser">
            <result name="success">/showuser.jsp</result>
            <result name="input">/index.jsp</result>
        </action>
    </package>
</struts>
 
showuser.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Show List of Users</title>
</head>
<body>
<a href="index.jsp">Add User</a>

<s:if test="users.size() > 0"></s:if>
    <table>
        <tr>
            <th>ID</th>
            <th>USER NAME</th>
            <th>PASSWORD</th>
            <th>EMAIL</th>
            <th>UPDATE</th>
            <th>DELETE</th>
        </tr>  
   
<s:iterator value="users" >
    <tr>
        <td><s:property value="%{userId}"/></td>
        <td><s:property value="%{userName}"/></td>
        <td><s:property value="%{password}"/></td>
        <td><s:property value="%{email}"/></td>
        <td>
            <s:url id="editURL" action="editUser">
                <s:param name="user.userId" value="%{userId}"></s:param>
            </s:url>
            <s:a href="%{editURL}">Edit</s:a>
        </td>
        <td>
            <s:url id="deleteURL" action="deleteUser">
                <s:param name="user.userId" value="%{userId}"></s:param>
            </s:url>
            <s:a href="%{deleteURL}">Delete</s:a>
        </td>
    </tr>
</s:iterator>
</table>
</body>
</html>

editUser.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<s:form action="updateUser">
    <s:hidden name="user.userId"/>
    <s:textfield name="user.userName" label="User Name" />
    <s:textfield name="user.password" label="Password"  />
    <s:textfield name="user.email" label="email"/>
   
    <s:submit name="submit" value="Update User" />   
</s:form>
<s:url id="showUser" action="listUser"></s:url>
<s:a href="%{showUser}">Back</s:a>
</body>
</html>

com.action.struts.Registration

package com.action.struts;
import java.util.ArrayList;
import java.util.List;

import com.bean.User;
import com.impl.UserImpl;
import com.opensymphony.xwork2.ActionSupport;
import com.sun.net.httpserver.Authenticator.Success;

public class Registration extends ActionSupport {

   
    private User user;
    private List<User> users = new ArrayList<User>();
       
    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
   
    public List<User> getUsers() {
        return users;
    }

    public void setUsers(List<User> users) {
        this.users = users;
    }

    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        return SUCCESS;
    }
   
    public String addUser(){
       
        UserImpl.addUser(user);
               
        return SUCCESS;
    }
   
    public String listUser(){
       
        users =UserImpl.listUser();
       
        return SUCCESS;
    }
   
    public String deleteUser(){
       
        UserImpl.deleteUser(user);
       
        return SUCCESS;
    }
   
    public String editUser(){
       
        user = UserImpl.findUser(user);
       
        return SUCCESS;
    }
   
    public String updateUser(){
        /*HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
        user = userDAO.listUserById(Long.parseLong(request.getParameter("id")));*/
        UserImpl.updateUser(user);
       
        return SUCCESS;
    }
   
   
   
}

com.bean.User

package com.bean;

public class User {

    private int userId;
    private String userName;
    private String password;
    private String email;
       
    public int getUserId() {
        return userId;
    }
    public void setUserId(int userId) {
        this.userId = userId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
   
}

com.dao.Dbconnector

package com.dao;

import java.sql.Connection;
import java.sql.DriverManager;

public class DBConnector {

    public static Connection getConnection(){
       
        Connection con= null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }       
        return con;
    }
   
}

com.Impl.UserImpl

package com.impl;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.bean.User;
import com.dao.DBConnector;

public class UserImpl {

   
    public static void addUser(User user){
       
        try {
            Connection con = DBConnector.getConnection();
            Statement st = con.createStatement();
           
            String sql = "insert into tbl_demo (useremail,username,password) values('"+user.getEmail()+"', '"+user.getUserName()+"', '"+user.getPassword()+"')";
            int query = st.executeUpdate(sql);
            System.out.println(query);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
   
    }
   
    public static List<User> listUser(){
       
        List<User> users= new ArrayList<>();
        try {
            Connection con = DBConnector.getConnection();
            Statement st = con.createStatement();
           
            String sql = "select * from tbl_demo";
            ResultSet rs = st.executeQuery(sql);
            while(rs.next()){
                User user = new User();
                user.setUserId(rs.getInt(1));
                user.setEmail(rs.getString(2));
                user.setUserName(rs.getString(3));
                user.setPassword(rs.getString(4));
                users.add(user);
            }
           
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return users;
       
    }
   
    public static void deleteUser(User user){
        try {
            Connection con = DBConnector.getConnection();
            Statement st = con.createStatement();
           
            String sql = "delete from tbl_demo where id="+user.getUserId();
            int query = st.executeUpdate(sql);
            System.out.println(query);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
   
    public static User findUser(User user){
        try {
            Connection con = DBConnector.getConnection();
            Statement st = con.createStatement();
           
            String sql = "select * from tbl_demo where id="+user.getUserId();
            ResultSet rs = st.executeQuery(sql);
            while(rs.next()){
            user.setUserId(rs.getInt(1));
            user.setEmail(rs.getString(2));
            user.setUserName(rs.getString(3));
            user.setPassword(rs.getString(4));
            }
           
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       
        return user;
    }
   
    public static void updateUser(User user){
        try {
            Connection con = DBConnector.getConnection();
            Statement st = con.createStatement();
           
            String sql = "update tbl_demo  set useremail ='"+user.getEmail()+"', username = '"+user.getUserName()+"',password = '"+user.getPassword()+"' where id="+user.getUserId();
            int query = st.executeUpdate(sql);
            System.out.println(query);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
   
   
}

No comments:

Post a Comment