近期写了一个简单地登录注册,是基于 java web 的;涉及知识较简单,主要是数据库的连接,jsp 与 servlet 的使用等;实现效果在第二部分展示。
所用开发工具为Myeclipse(Eclipse),数据库此处使用Mysql5.6,服务器使用Tomcat6。其他开发工具亦可。
目前注册成功后也是进入登录界面
登录与注册是两个最基本的功能,可以以此为基础进行拓展,基于数据的处理,可进一步学习更多的知识,深入了解认识 java web 。此处MyEclipse 已集成Tomcat 所以不必配置服务器,如果你的开发工具没有,去Tomcat 官网下载解压到本地,将Tomcat 本地路径配置到开发工具Tomcat Path 路径配置即可。此处Java 开发连接MySQL 数据库使用JDBC 技术,需要MySQL 驱动包mysql-connector-java-5.1.37-bin.jar 下载此jar 包后放在创建的项目的lib 下,引入项目即可使用。
登录注册的实现,使用的基础技术包含下面的部分:
Java 基础interface 接口与class 类
JDBC 连接MySQL 数据库
JSP 页面与Servlet 服务交互
登录与注册都要提交数据给服务器,服务器拿其与数据库数据进行交互,以执行CRUD 增删改查等操作。
以我的程序为例
首先在数据库中建立一个学生信息表,数据库名为Mysql3,表名为 student。表很简单只包含三个属性id 表主键设置自增,name 账户名称,password 账户密码。初始化一些数据即可。
数据库及相关表处理好后,在MyEclipse(Eclipse) 创建web project 项目test,项目名自定义即可。新建package 包,名字自定义此处为 cn.edu.hpu.model (以下新建 servlet、jsp、class、interfence 等文件名字自定义)。
1> model 包下用来编写实体类,此处即学生类Student.java,对应建的表student。
创建学生类 Student.java
2> 然后建立数据库的连接,用户交互MySQL 数据库。
JDBC 数据库连接分为三步:
一是加载驱动
二是创建连接对象,及其他相关对象
三是关闭所打开的数据流
在 /test/WebRoot/WEB-INF/lib 导入数据库连接的 mysql-connector-java-5.1.37-bin.jar 文件。改jar 包是连接MySQL 数据库所需的包,将jar 包复制到lib 下,右键选择build path,将jar 添加到项目中。
创建工具包cn.edu.hpu.util,创建连接数据库的工具类 DataConner.java
3> 新建package 包cn.edu.hpu.test 写测试连接的代码,测试数据库连接是否成功
4> 新建package 包 cn.edu.hpu.service,在包里写一个interface 接口包含两个方法注册方法add(),登录方法ckeckLogin()。
新建一个接口StudentManage.java
实现接口的实现类StudentManageImpl.java
此处checkLogin() 方法中的SQL 语句没有使用占位符,直接拼写的SQL 语句,建议添加单引号。
String sql ="select * from user where username = '"+username+"'";
String sql ="select * from user where username = "+username;//不添加单引号会因username 的数据类型不同可能会引起SQL 查询出错而抛出异常。一般整型数据不添加不会报错。
创建测试类,调用接口的注册、登录方法,测试以上接口中注册与登录方法是否可用。
相关验证,直接打开数据库,直观的看到数据记录是否变化,刚才的测试操作是否成功
JSP创建,作为前端页面展示。
代码如下:注意将 pageEncoding 改为 utf-8 支持中文防止乱码;jsp 文件都要在此处设置编码方式为 utf-8 以便防止不支持中文而导致乱码
1>index.jsp
登录页面代码
这里直接用了默认的index.jsp文件,你可以将文件重命名为success.jsp之类的,或者新建一个登陆页面的jsp文件。
2>LoginFailed.jsp
失败提示界面代码
3>register.jsp
注册界面文件 jsp 代码
4>LoginSucceed.jsp
成功界面代码
Servlet 创建,作为服务响应前台页面请求。
1>注册功能:数据处理文件 servlet
2>登录 servlet 文件
xml 文件 在Myeclipse 自动生成,其他平台可能要自己写
代码如下:
友情提示:
由于路径问题、大小写问题等书写不规范可能导致一系列错误,异常;
以上代码可用无错误;
请注意代码书写规范;
养成良好风格。