用户的登录、注册和退出是一个系统最常见的功能,现将各功能用jsp代码表示出来

用户的登录:

其中connDB是数据库连接类,将用户名username放入session中

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="connBean" scope="page" class="beans.connDB"/>
<%
request.setCharacterEncoding("GB2312");
String username=request.getParameter("username");
String PWD=request.getParameter("PWD");
if(username!=""){%>
<% ResultSet rs=connBean.executeQuery("select * from tb_User where UserName='"+username+"'");
if (rs.next()){
String rsPWD=rs.getString("PWD");
if(PWD.equals(rsPWD)){%>
<script language="javascript">
opener.location.reload();
window.close();
</script>
<%
session.setAttribute("username",username);
}else{%>
<script language="javascript">
alert("您输入的密码不正确,请重新输入!");
history.back();
</script>
<%}
}else{ %>
<script language="javascript">
alert("您输入的用户名不正确,请重新输入!");
history.back();
</script>
<%}
}%>

用户的注册:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="connBean" scope="page" class="beans.connDB"/> <%
request.setCharacterEncoding("GB2312");
String username=request.getParameter("username");
String PWD=request.getParameter("PWD1");
String birthday=request.getParameter("birthday");
String sex=request.getParameter("sex");
String OICQ=request.getParameter("OICQ");
String tel=request.getParameter("tel");
String homepage=request.getParameter("homepage");
String address=request.getParameter("address");
String postcode=request.getParameter("postcode");
String Email=request.getParameter("Email");
ResultSet rs=connBean.executeQuery("select * from tb_user where username='"+username+"'");
if (rs.next()){
out.println("<script language='javascript'>alert('该用户名已经存在,请重新注册!');window.location.href='reg.jsp';</script>");
}else{
String sql="Insert into tb_User values('"+username+"','"+PWD+"','"+birthday+"','"+sex+"','"+OICQ+"','"+tel+"','"+homepage+"','"+address+"','"+postcode+"','"+Email+"',default )";
int ret=0;
ret=connBean.executeUpdate(sql);
if (ret!=0){
out.println("<script language='javascript'>alert('用户注册成功!');window.location.href='index.jsp';</script>");
}else{
out.println("<script language='javascript'>alert('用户注册失败!');window.location.href='reg.jsp';</script>");
}
}
%>

用户的退出:

这其中必须注意不能简单的退到登录页面,而要在退出的时候将session中的用户名username清空。

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>

<%
session.removeAttribute("username"); //清空Session变量
response.sendRedirect("index.jsp");
%>

这些仅仅是用纯jsp实现的,更正规的方式是用mvc方式。

用纯jsp实现用户的登录、注册与退出的更多相关文章

  1. 纯JSP实现用户登录注册,记事本

    没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在  session 中找不到 currentUser ...

  2. Django REST Framework JWT 用户的登录注册

    安装配配置 pip install djangorestframework-jwt 配置setting ########### 1.在INSTALLED_APPS中加入'rest_framework. ...

  3. python3 练习题(用函数完成登录注册以及购物车的功能)

    ''' 用函数完成登录注册以及购物车的功能 作业需求: 1,启动程序,用户可选择四个选项:登录,注册,购物,退出. 2,用户注册,用户名不能重复,注册成功之后,用户名密码记录到文件中. 3,用户登录, ...

  4. ecmall用户登录后自动退出解决方法

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  5. 纯jsp用户登录系统

    用纯jsp技术实现用户登录系统,需要用到三个.jsp文件.在文本目录下新建三个.jsp文件,分别命名为login.jsp,logincl.jsp和wel.jsp. 1.login.jsp文件用来放界面 ...

  6. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  8. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  9. javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

随机推荐

  1. EventBus源码解析

    用例 本文主要按照如下例子展开: //1. 新建bus对象,默认仅能在主线程上对消息进行调度 Bus bus = new Bus(); // maybe singleton //2. 新建类A(sub ...

  2. perl 一个简单的面向对象的例子

    <pre name="code" class="python">[root@wx03 wx]# cat x1.pm package x1; use ...

  3. C语言的本质(1)——计算机与二进制

    人类的计数方式通常是"逢十进一",称为十进制(Decimal),大概因为人有十个手指,所以十进制是最自然的计数方式,各民族的文字中都有十个数字,而阿拉伯数字0-9是目前最广泛采用的 ...

  4. POJ——放苹果

    4:放苹果 查看 提交 统计 提问 总时间限制:  1000ms  内存限制:  65536kB 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示) ...

  5. opensatck 使用devstack在 laptop上的 网络配置

    http://docs.openstack.org/developer/devstack/guides/neutron.html Physical Network Setup In most case ...

  6. Mysql两种存储引擎的优缺点

    MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用.MyISAM中,一个table实际保存为三个文件,.frm存储表定义,.MYD存储数据,.MY ...

  7. tabBar隐藏与显现 hidesBottomBarWhenPushed

    这个问题说简单也简单  但是如果不知道 可会让很多人吃苦 隐藏UITabBarController的tabBar, 我用它的一个属性hidesBottomBarWhenPushed隐 藏了,可以pop ...

  8. .net通用权限框架B/S(二) 数据库设计

    1.组织机构---员工是1:n关系 2.角色---员工n:n 3.角色--导航菜单n:n 4.操作权限(id)---导航菜单(prms_id)n:n   [此处是n:n关系正常是生成第三张表存放多对多 ...

  9. static和extern关键字 对变量的作用

    本文目录 • 一.在Java中,全局变量的定义没有严格的位置规定 • 二.在C语言中,全局变量定义的位置是有限制的 • 三.重复定义同一个变量 • 四.不同源文件中的同名变量 • 五.static关键 ...

  10. 物理引擎简介——Cocos2d-x学习历程(十三)

    Box2D引擎简介 Box2D是与Cocos2d-x一起发布的一套开源物理引擎,也是Cocos2d-x游戏需要使用物理引擎时的首选.二者同样提供C++开发接口,所使用的坐标系也一致,因此Box2D与C ...