Oracle+struts2实现用户登入并显示访问次数

实体类:

package entity;

public class userfo {
private int id;//id
private String name;//用户名
private String password;//密码
private String sex;//性别
private String phone;//电话号
private String fdate;//日期
private String adress;//地址
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}
public String getSex() {
    return sex;
}
public void setSex(String sex) {
    this.sex = sex;
}
public String getPhone() {
    return phone;
}
public void setPhone(String phone) {
    this.phone = phone;
}
public String getFdate() {
    return fdate;
}
public void setFdate(String fdate) {
    this.fdate = fdate;
}
public String getAdress() {
    return adress;
}
public void setAdress(String adress) {
    this.adress = adress;
}



}

三层架构:

public class UserDaoImpl extends sqlser implements UserDao {
    Connection con = null;
    PreparedStatement st = null;
    ResultSet rs = null;

       /*
        * 登入方法
        * (non-Javadoc)
        * @see dao.UserDao#Login(entity.userfo)
        */
    public int Login(userfo user) {
        // TODO Auto-generated method stub
        int flag=0;
         con = this.getConnection();
    String sql = "select * from userfo where name = ? and password  = ?";
    
    try {
        st = con.prepareStatement(sql);
        st.setString(1, user.getName());
        st.setString(2, user.getPassword());
        rs = st.executeQuery();
        if(rs!=null && rs.next()){
            flag=1;
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
        this.ShiFang(rs, st, con);
    }
    return flag;
}

 

/**
 * 登入
 * @author Administrator
 *
 */
public interface UserBiz {
    
    public int Login(userfo user);

}

 

package BaseDao;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
     import java.sql.Statement;

   public class sqlser {

    
        //数据库初始化
        String driver="oracle.jdbc.driver.OracleDriver";
        String url="jdbc:oracle:thin:@localhost:1521:ORCL";
        String user = "epet";
        String pwd = "123456";
        
        //获取连接
        public Connection getConnection(){
            
            try {
                
                Class.forName(driver);
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            Connection con =null;
              
            
            try {
                con =DriverManager.getConnection(url,user,pwd);
            
                
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                
            }
                 return con;
        }

        
        
        //======释放连接=======

    public  void ShiFang(ResultSet rs, Statement st,Connection con){


                   try {
                       if(rs!=null){
                              rs.close();
                       }if(st!=null){
                             st.close();
                       }if(con!=null){
                         con.close();  
                           
                       }
                           } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                           }
                   }
              
     }

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
        <!-- 配置包信息 -->
        <package name="default" namespace="/" extends="struts-default">
            <!-- 配置Action:关联Action JavaBean -->
            <action name="longinAct" class="Action.LoginAction">
                <!-- 指定返回的视图 ;默认使用转发-->
                <result name="input">/error.jsp</result>

              <result name="success">/success.jsp</result>
 
                
            </action>
        </package>
    </struts>
package Action;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.SessionAware;

import biz.UserBiz;
import biz.impl.UserBizImpl;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

import dao.UserDao;
import dao.UserDaoImpl;

import entity.userfo;

/**
 * 
 * @author Administrator
 *
 */
  


public class LoginAction extends ActionSupport implements ModelDriven,SessionAware,ApplicationAware{
    private userfo user=new userfo();
    private Map<String,Object> sessionM;
    private Map<String,Object> applicationM;
    public Object getModel() {
        // TODO Auto-generated method stub
        return user;
    }

    public void setSession(Map<String, Object> arg0) {
        // TODO Auto-generated method stub
        sessionM=arg0;
    }

    public void setApplication(Map<String, Object> arg0) {
        // TODO Auto-generated method stub
        applicationM=arg0;
    }
    
    @Override
    public String execute() throws Exception{
        UserDao dao=new UserDaoImpl();
    // 通过ActionContext获取MAP类型的Session 
     ActionContext ac=ActionContext.getContext();

         sessionM=ac.getSession();

         sessionM.put("name",user.getName());

        sessionM.put("user",user);
        // 通过控制反转方法 获取MAP类型的Session

        sessionM.put("name", user.getName());

        sessionM.put("password", user.getPassword());

        sessionM.put("user", user);

        String name=(String)sessionM.get("name");

        String pwd=(String)sessionM.get("password");

        userfo a=new userfo();

        a.setName(name);

        a.setPassword(pwd);

        int flag=dao.Login(a);

        if(flag>0){

        if(applicationM.get("count")==null){

        applicationM.put("count", 1);

        }else{

        int count=Integer.parseInt(applicationM.get("count").toString());

        applicationM.put("count", count+1);

        }
return SUCCESS;

        }else{

        return INPUT;

        }

        }
}

    


登入页面、成功页面、失败页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>Struts2Demo</title>
    
  </head>
  
  <body>
    <s:form action="longinAct" method="post">
     <s:textfield name="name" label="用户名"></s:textfield> 
     <s:password name="password" label="密码"></s:password> 
     <s:submit value="登陆"> </s:submit> 
    </s:form>
  
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'success.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
 <H1> 用户名: <s:property value="name" /> <br /> 密码: <s:property value="password" /> 

 
 <br /> 登陆成功! <br>

从SESSION中获取值(jsp方式):用户名:

<%=session.getAttribute("name")%><br>



</H1> 
 从SESSION中获取值(struts方式):用户名: <s:property value="#session.name" /> 

 <br> 访问次数: <s:property value="#application.count" />
</body>


</html>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'error.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
           用户名: <s:property value="name" /> <br />&nbsp;&nbsp;&nbsp;&nbsp;码: <s:property value="password" /> <br />
  <H1>登陆失败! </H1>
  </body>
</html>

posted on 2015-11-19 08:28  梦之航  阅读(1619)  评论(2编辑  收藏  举报

导航