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 />
密 码: <s:property value="password" /> <br />
<H1>登陆失败! </H1>
</body>
</html>
Oracle+struts2实现用户登入并显示访问次数的更多相关文章
- Struts2+AJAX+JQuery 实现用户登入与注册功能。
要求 必备知识 JAVA/Struts2,JS/JQuery,HTML/CSS基础语法. 开发环境 MyEclipse 10 演示地址 演示地址 预览截图(抬抬你的鼠标就可以看到演示地址哦): 关于U ...
- Struts2+AJAX+JQuery 实现用户登入与注册功能
要求:必备知识:JAVA/Struts2,JS/JQuery,HTML/CSS基础语法:开发环境:MyEclipse 10 关于UI部分请查看下列链接,有详细制作步骤: 利用:before和:afte ...
- [Django]登陆界面以及用户登入登出权限
前言:简单的登陆界面展现,以及用户登陆登出,最后用户权限的问题 正文: 首先需要在settings.py设置ROOT_URLCONF,默认值为: ROOT_URLCONF = 'www.urls'# ...
- python基础篇---实战---用户登入注册程序
一.首先了解需求: 1.支持多个用户登入 2.登入成功后显示欢迎,并退出程序 3.登入三次失败后,退出程序,并在下次程序启动尝试登入时,该用户名依然是锁定状态 二.文件代码如下: f = open(& ...
- Django,COOKIES,SESSION完成用户登入
1.urls.py """Django_cookie_session URL Configuration The `urlpatterns` list routes UR ...
- 【转】vsftpd用户登入不进去问题
实在是登陆不上... 我已经加了一个新的用户UID和GID都设置到1000以后 /etc/vsftpd.conf也加了local_enable=yes 以standalone模式运行. 重启服务器后, ...
- MonGoDB 常见操作, 设置管理员和用户登入
[ 启动客户端 => ./bin/mongo --host 192.168.200.100 ] 1: 查看所有已经创建的数据库 => show dbs 2: 切换或者创建数据库 ...
- python编辑用户登入界面
1.需求分析 登入界面需要达到以下要求: 系统要有登入和注册两个选项可供选择 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user_info.txt文件夹中 系统要能够进行登入错误次 ...
- Struts2框架实现简单的用户登入
Struts框架汲取了Struts的优点,以WebWork为核心,拦截器,可变和可重用的标签. 第一步:加载Struts2 类库: 第二步:配置web.xml <?xml version=&qu ...
随机推荐
- iOS自己定义返回button(不影响返回手势)
此方法能够自己定义返回button,且不影响返回手势. 新方法: self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] in ...
- .net Core使用Orcle官方驱动连接数据库 C#参考教程 http://www.csref.cn
.net Core使用Orcle官方驱动连接数据库 最近在研究.net Core,因为公司的项目用到的都是Oracle数据库,所以简单试一下.net Core怎样连接Oracle. Oracle官 ...
- 有时候当你改动了xib   你调试,各种改的时候又没变化的时候
当你xib 改变了 调试的时候又没变化的时候,当你各种改错无用的时候,就是xcode xib的缓存问题了. please clear xcode . command + shift + K . ...
- 【uoj35】后缀排序
后缀数组模板题 #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio ...
- luogu2827 蚯蚓
题目大意 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」= [3.9」=3. 蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓 ...
- 纯css3实现美化复选框和手风琴效果(详细)
关键技术点和原理: 原理就是把 checkbox或 radio 给隐藏掉 ,然后给选框 绑定一个label标签. 然后用label标签作为容器,在里面放一个:before或一个after 用bef ...
- hdnoip2017
T1: 小喵喵有 n 个小鱼干排成一列,其中第 i个小鱼干有两种属性,美味度 ai 和特殊度 bi 现在小喵喵要吃掉一些小鱼干,出于一些原因,小喵喵会吃掉连续的一段区间中的所有小鱼干. 如果吃掉了 [ ...
- BZOJ_3667_Rabin-Miller算法_Mille_Rabin+Pollard rho
BZOJ_3667_Rabin-Miller算法_Mille_Rabin+Pollard rho Description Input 第一行:CAS,代表数据组数(不大于350),以下CAS行,每行一 ...
- backbone源代码注释(部分)
// Backbone.js 1.0.0 // (c) 2010-2013 Jeremy Ashkenas, DocumentCloud Inc. // Backbone may be freely ...
- POJ1050 To the Max 最大子矩阵
POJ1050 给定一个矩阵,求和最大的子矩阵. 将每一列的值进行累加,枚举起始行和结束行,然后就可以线性优化了 复杂度O(n^3) #include<cstdio> #include&l ...