• 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>

  • 相关阅读:
    Linux终端设置免密登陆ssh(以 XShell 为例)
    Docker入门(一)-安装
    find命令总结
    CentOS 恢复 rm -rf 误删除数据
    CentOS系统登陆root用户后发现提示符显示-bash-4.2#(已解决)
    一次在CentOS系统单用户模式下使用passwd命令破密失败的案例
    Ubuntu下配置IP地址
    安装CentOS 6.x报错"Disk sda contains BIOS RAID metadata"解决方法
    YUM命令总结
    git从安装到多账户操作一套搞定(二)多账户使用
  • 原文地址:https://www.cnblogs.com/wlx520/p/4971626.html
Copyright © 2020-2023  润新知