1.上学期,在学期结束之际,学校安排实训,做了一个小小的JSP会员管理系统,今天,来介绍一下会员管理系统中的登录模块,此系统是使用JSP和Servlet技术,在加上JavaBean来实现的,是一个MVC模式来写的一个小系统,其中JavaBean的实例放在tom.bean包下,Servlet控制器代码放在tom.servlet包下,jsp页面放在WebRoot包下,其中在WEB_INF的lib目录下必须把连接数据库的驱动文件sqljdbc.jar包添加进去,接下来开始介绍登录功能的实现,先附上主页index.jsp的效果,代码很简单,就不附上了,在文章末尾我将附上源代码:

2.该模块的模型JavaBean描述用户登录的信息,视图部分由两个JSP页面组成,一个页面是通过用户提交的登录信息,即表单内容(其中有会员名和密码),提交到Servlet控制器里面去,通过连接数据库验证登录信息,登录成功,显示一个登录成功的界面,错误提示会员重新登录,控制器Servlet负责验证会员名和密码是否正确,并负责更新视图,即跳转页面。

3.首先,新建一个用于输入登录信息的页面,页面名为login.jsp,代码附上:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
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>会员登录界面</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><div align="center"><table width="536"><tr><td colspan="4"><div align="center"><strong><font size="+3" color="#FFCCCC">会员管理系统</font> </strong></div></td></tr><tr><td width="173"><div align="center"><a href="register.jsp">会员注册</a></div></td><td width="119"><div align="center"><a href="login.jsp">会员登录</a></div></td><td width="112"><div align="center"><a href="uploadPic.jsp">上传照片</a></div></td><td width="112"><div align="center"><a href="lookMember.jsp">浏览会员</a></div></td></tr><tr><td><div align="center"><a href="updateRegister.jsp">修改注册信息</a></div></td><td><div align="center"><a href="updatePwd.jsp">修改密码</a></div></td><td><div align="center"><a href="exit">退出登录</a></div></td><td><div align="center"><a href="index.jsp">返回主页</a></div></td></tr></table>
</div>
<center>
<form action="login" method="post">
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="200"><param name="movie" value="flash/login.swf" /><param name="quality" value="high" /><param name="wmode" value="opaque" /><param name="swfversion" value="6.0.65.0" /><!-- 此 param 标签提示使用 Flash Player 6.0 r65 和更高版本的用户下载最新版本的 Flash Player。如果您不想让用户看到该提示,请将其删除。 --><param name="expressinstall" value="Scripts/expressInstall.swf" /><!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 --><!--[if !IE]>--><object type="application/x-shockwave-flash" data="flash/login.swf" width="400" height="200"><!--<![endif]--><param name="quality" value="high" /><param name="wmode" value="opaque" /><param name="swfversion" value="6.0.65.0" /><param name="expressinstall" value="Scripts/expressInstall.swf" /><!-- 浏览器将以下替代内容显示给使用 Flash Player 6.0 和更低版本的用户。 --><div><h4>此页面上的内容需要较新版本的 Adobe Flash Player。</h4><p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adobe Flash Player" /></a></p></div><!--[if !IE]>--></object><!--<![endif]-->
</object><br/>请您登录
<table>
<tr><td>登录名:</td><td><input type="text" name="logname" width="21"/></td></tr>
<tr><td>密码:</td><td><input type="password" name="password" width="21"/></td></tr>
</table>
<table>
<tr><td><input type="submit" value="登录" name="login">  <input type="reset" value="重置" name="reset"></td></tr>
</table>
</form>
</center></body>
</html>

页面效果如下:

然后根据我们数据表中定义的两个字段和表单输入的登录名和密码建立一个JavaBean的实例用来描述用户登录信息,即在tom.bean包下新建一个Login.java文件,其中定义了两个变量,通过SetXxx()和getXxx()方法封装数据:

Login.java文件,代码如下:

package tom.bean;public class Login {private String logname;//声明会员名称变量private String password;//声明会员密码变量public String getLogname() {return logname;}public void setLogname(String logname) {this.logname = logname;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

在login.jsp页面中通过表单提交到Servlet上,即:

<form action="login" method="post"></form>

所以我们必须新建一个Servlet控制器,即 LoginMessage.java文件:

LoginMessage.java文件代码如下:

package tom.servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import tom.bean.Login;public class LoginMessage extends HttpServlet {//初始化Servlet的方法@Overridepublic void init(ServletConfig config) throws ServletException {// 加载驱动try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}super.init(config);}@Overrideprotected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// 获取表单的内容String name = request.getParameter("logname");String pwd = request.getParameter("password");// 获取连接try {String uri = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=ComeHere";String user = "xg";String password = "123456";Connection con = DriverManager.getConnection(uri, user, password);// 创建Statement对象Statement st = con.createStatement();//创建sql语句,查询会员名称和密码String sql="select * from member where logname='"+name+"'and password='"+pwd+"'";//执行sql语句ResultSet rs=st.executeQuery(sql);if(rs.next()){//获取JavaBean对象,封装数据Login login=new Login();login.setLogname(name);login.setPassword(pwd);HttpSession session=request.getSession(true);session.setAttribute("login", login);RequestDispatcher dispatcher=request.getRequestDispatcher("loginMessage.jsp");dispatcher.forward(request, response);}else{//登录失败请会员重新登录response.setContentType("text/html;charset=GB2312");PrintWriter out=response.getWriter();out.println("<html><body>");out.println("会员登录失败");out.println("<a href='login.jsp'>重新登录</a>");out.println("</body></html>");}} catch (Exception e) {e.printStackTrace();}}@Overrideprotected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

如果对于连接数据库不理解的话,可以浏览一下我的博客文章:http://blog.csdn.net/u012561176/article/details/41245919 ,如果对于数据库连接有问题的,可以查阅相关文章,也可以评论。

其中登录成功的话,就会转发到loginMessage.jsp这个视图上去,接下来附上loginMessage.jsp页面的代码,如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="tom.bean.Login" %>
<%
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>登录后详细信息</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><div align="center"><table width="536"><tr><td colspan="4"><div align="center"><strong><font size="+3" color="#FFCCCC">会员管理系统</font> </strong></div></td></tr><tr><td width="173"><div align="center"><a href="register.jsp">会员注册</a></div></td><td width="119"><div align="center"><a href="login.jsp">会员登录</a></div></td><td width="112"><div align="center"><a href="uploadPic.jsp">上传照片</a></div></td><td width="112"><div align="center"><a href="lookMember.jsp">浏览会员</a></div></td></tr><tr><td><div align="center"><a href="updateRegister.jsp">修改注册信息</a></div></td><td><div align="center"><a href="updatePwd.jsp">修改密码</a></div></td><td><div align="center"><a href="exit">退出登录</a></div></td><td><div align="center"><a href="index.jsp">返回主页</a></div></td></tr></table>
</div>
<center><jsp:useBean id="login" class="tom.bean.Login" scope="session"></jsp:useBean><br/><jsp:getProperty property="logname" name="login"/>登录成功<br/>登录密码为:<jsp:getProperty property="password" name="login"/></center></body>
</html>

其中action="login"中login是在浏览器的地址栏中所需要的,单击一个表单的提交按钮,访问Servlet,Servlet中必须在WEB_INF下的web.xml文件:其中要在web.xml文件中添加<servlet>标记和<servlet-mapping>标记,在这里我们可以这样配置Servlet:

  <servlet><servlet-name>login</servlet-name><servlet-class>tom.servlet.LoginMessage</servlet-class></servlet><servlet-mapping><servlet-name>login</servlet-name><url-pattern>/login</url-pattern></servlet-mapping>

其中<servlet>标记下的:<servlet-name>子标记定义的是servlet的名字可以随便定义,最好是小写的,如果是两个单词合并,如Login和Message合并。应该写为loginMessage,最好有所规范, <servlet-class>子标记是你定义Servlet控制器Java文件的路径,为包名+类名,

其中<servlet-mapping>标记下的:<servlet-name>子标记必须和<servlet>标记下的<servlet-name>的名称相同,<url-pattern>子标记为"/login",那么用户在书写表单时的<form action="login" method="post">action值相同,但要加上个/,此时浏览器在点击表单里的登录按钮后便会访问这个Servlet了。

4.这样就实现了登录的效果,接着我们访问登录界面,地址为http://localhost:8083/Project1/login.jsp 效果如下:

输入你之前插入数据库的字段内容或者注册成功过的会员名时:

点击登录按钮后:

如果输入错误会员名和密码时:

点击登录按钮,会出现下图的界面,要求你重新登录,重新输入登录信息:

点击重新登录链接,又会到登录界面。

如果运行项目时发现下图错误时:

可以打开你的SQL Server 2005软件,连接下图windows身份验证的数据库:

找到下图为xg的登录名:

右键选择xg的属性,修改密码即可:

因为密码过期了,在输入与你servlet连接数据库的密码一样,然后确定,在连接下图的SQL Server身份验证服务器即可:

就没错误了,可以访问数据库了。

5.下面附上完整代码下载地址:https://pan.baidu.com/s/1qUeL1fhfCbhFWxF3sL5hHw ,提取码:j7vi   希望对大家有用!

6.以上内容仅供大家学习参考所用,写得不好请见谅,如有错误请指出,如有问题,可以一起讨论,谢谢!



JSP小项目,会员管理系统之实现登录功能相关推荐

  1. 基于JSP的健身俱乐部会员管理系统的设计与实现(论文+PPT+源码)

    = 分类号_______________ 密级________________ UDC _______________ 学号_ ___ 毕业设计(论文) 论文题目 基于JSP的健身俱乐部会员管理系统的 ...

  2. 记第一次完成-jsp小项目-jsp商城+源码

    这是我第一个jsp小Demo--淘淘商城 1.实现的功能:前台:登录,注册,退出,查看各类商品,模糊搜索商品,浏览记录,加入购物车,生成订单,查看我的订单 后台:对分类,商品的增删改查,对订单查看-- ...

  3. Web前端开发:SQL Jsp小项目(一)

    Jsp的学习算是告一段落,针对这段时间的学习,写了一个Jsp小项目来巩固学到的知识. 框架示意图 User list process UserAdd process 需要的界面效果: 需要工具:Ecl ...

  4. php第三方登录代码,thinkPHP5项目中实现QQ第三方登录功能

    本文实例讲述了thinkPHP5项目中实现QQ第三方登录功能.分享给大家供大家参考,具体如下: 最近用thinkPHP 5框架做了一个婚纱店的项目,在开发过程中需要用到第三方登录,腾讯官方给的案例是几 ...

  5. 微信授权绑定手机号 java_微信小程序获取手机号授权用户登录功能

    小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPhoneNumber这个组件通过button来实现(别的标签无 ...

  6. php 微信小程序获取手机号_实例讲解微信小程序获取手机号授权用户登录功能...

    小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写.本文主要给大家分享微信小程序获取手机号授权用户登录功能,需要的朋友参考下吧, ...

  7. java实现微信、手机号登陆_微信小程序获取手机号授权用户登录功能

    小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPaDirIrkFhoneNumber这个组件通过button来 ...

  8. JSP小项目,会员管理系统之实现注册功能

     1.上学期,在学期结束之际,学校安排实训,做了一个小小的JSP会员管理系统,前面,介绍过登录模块的实现,今天,来介绍一下会员管理系统中的注册模块,此系统是使用JSP和Servlet技术,在加上J ...

  9. 基于JSP的超市会员管理系统毕业设计

    技术:Java.JSP等 摘要: 科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们深刻的认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.它已经深入到日常工作及生活的方方面面,比如 ...

最新文章

  1. ADO.Net五个对象
  2. SAP BMBC报表不能显示批次分类视图里的特性值
  3. 为什么说Python是伟大的入门语言
  4. linux set include path,set_include_path()的用法
  5. 英语单词 voltage simulation synthesize junction asynchronous mega optimize
  6. 对物联网操作系统特征和定位的思考
  7. wpf 如何设置弹出窗口必须关闭才能打开其他软件_新电脑到手后,这3项定要这样设置,能让你的电脑多用三年!...
  8. GPE监控多台MySQL_zabbix监控多个服务器
  9. pythonif语句的多分支使用_Python多分支if语句的使用
  10. 利用DB Link搞定Oracle两个数据库间的表同步
  11. 有的朋友问我创业没有资金怎么办?
  12. mysqlreport 文档
  13. MPLS ××× 的基本配置(二)
  14. 点云质量评估_Chamfer Distance--倒角距离
  15. 【通信】基于matlab FDTD法研究移动通信终端电磁辐射对人体的影响【含Matlab源码 761期】
  16. javascript的一些各浏览器不兼容的地方
  17. 群接龙,JK上报一键化手机脚本autojs
  18. 360扫描出来html木马,你的电脑真的做好防护了吗?使用360安全卫士木马查杀一键扫描就知道...
  19. java八大基本数据类型及其封装类
  20. IOC原理基本使用(一)

热门文章

  1. apt-get 与 apt-cache使用
  2. linux 源码编译安装apache
  3. 单应矩阵,基本矩阵,本质矩阵
  4. js检查元素是否包括在数组中
  5. ubuntu boot中grub误操作 导致系统开进grub
  6. Linux系统中增加Swap分区大小
  7. koa2 仿知乎笔记
  8. JavaScript Swiper插件
  9. Vue3核心概念、新特性及与Vue2的区别
  10. javascript arguments 特殊 对象