Oracle+struts2实现用户登入并显示访问次数
2015-11-19 08:28
513 查看
实体类:
三层架构:
登入页面、成功页面、失败页面
![](http://images2015.cnblogs.com/blog/750492/201511/750492-20151117142910718-2105886619.png)
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>
![](http://images2015.cnblogs.com/blog/750492/201511/750492-20151117142910718-2105886619.png)
<%@ 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 /> 密 码: <s:property value="password" /> <br /> <H1>登陆失败! </H1> </body> </html>
![](http://images2015.cnblogs.com/blog/750492/201511/750492-20151117142950452-730380529.png)
相关文章推荐
- 什么叫做Oracle RAC中的nodename
- oracle排序,出现页数不同数据却重复问题的原因及解决办法
- oracle索引总结
- 如何让dapper支持oracle游标呢?
- oracle去重等基础问题
- ORACLE ORA22922 不存在的LOB值解决方法
- Oracle ubuntu 下快速安装
- Oracle Linux: Error "Missing Or Invalid IPv4 Prefix '0' On Linux Server" (文档 ID 1522095.1)
- 查看Oracle的实例
- Oracle 自定义结构(Record) 记录
- Oracle存储过程中的异常处理
- oracle系统包——dbms_job用法(oracle定时任务)
- PFILE和SPFILE介绍
- ORACLE PL/SQL 字符串函数、数学函数、日期函数
- Navicat V11 连接 oracle 11g 的问题
- oracle添加和查看注释
- J2EE应用中与Oracle数据库的连接
- Oracle 11g DG配置简明版
- Oracle 10g RAC 在Linux下安装经验总结
- oracle 备份:全量、增量、0级、1级、差分、增量