(1)JDK版本:jdk1.7.0_80和jre7 (MyEcplise2014没有jdk8,所以临时换了jdk7)
(2)Web服务器:apache-tomcat-8.5.20
(3)IDE工具:MyEcplise2014
(4)数据库:SQL Server2012(暂时用这个,个人比较喜欢MySQL,后面会换成MySQL)
( 5 ) SQLServer2012的jdbc驱动程序包:sqljdbc4.jar=>微软官网下载:(http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774)
既然是登录页面,那首先肯定要有用户名和密码,那这些用户名和密码就要用到数据库;
1、页面需求(前端效果):用户名、密码、按钮(前面需要做界面效果)
2、数据库(后台处理):通过JDBC验证数据库,运用Java知识(中间要用Java代码结合JDBC处理数据库后台)
3、需求效果:返回成功与失败信息(最后要返回程序的结果)
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="gb2312"%>
简易留言板
登录
如果没有注册单击 这里注册!
写完这个页面接下来要干嘛?当然什么都不能干,如果你是在要干,那就自己好好的欣赏这个页面咯
一开始我也说了,设计好界面是第一步,然后就要处理后台的数据库啦!
2、用SQLServer2012创建名为login的数据库,并创建一个用户表user,结构如下:
3、创建数据库连接:
(1)因为连接的是sql server2012,所以先下载好所需要的jdbc驱动包程序sqljdbc4.jar;
(2)打开myecplise2014,建立与数据源的连接:【MyEclipseDatabase Explorer】=>【New…】,
哎呀,与想象中不那么顺利,不过问题不大,别急,我们一步步来,它的提示是Driver class找不到!
那我们就哪里不会点哪里~步步高点读机,妈妈再也不用担心我的学习啦,走题啦不好意思,我们继续,
这有可能是下载在sqljdbc4.jar包有问题,对此我重新进入官网发现在相关资源下拉还有3个不同的版本,
所以我再次下载,但是发现我应该要下是42版本的。(因为一开始我用的还是jdk8)
结果:还是不行!!!(那我先暂时跳过连接数据库部分,可能一开始还有很多不明白的地方会让我钻进牛角尖,后面再处理试试,不行我就换MySql)
不过执着的我又不断的上网查资料,最后我还是觉得jdk8版本太高了与MyEclipse2014兼容性有点问题,所以就开始换成jdk7来试了,
至于配置Tomcat8+JDK1.7我就不多说了,主要提一下Microsoft JDBCDriver 4.0 for SQL Server这个驱动包的下载与安装配置:在微软官网http://www.microsoft.com/zh-cn/download/details.aspx?id=11774
下载sqljdbc_4.0.2206.100_chs.tar.gz(2.2M),解压文件,得到sqljdbc_4.0这个文件夹,并且打开里面只有一个目录chs,再进入里面,能看到sqljdbc.jar和sqljdbc4.jar,因为我现在使用的是jre1.7版本,则忽略sqljdbc.jar。然后在我的本地路径F:\SqlServerDrivers下新建一个文件夹,命名为sqljdbc4,并只复制sqljdbc4.jar进去。
因为之前提示的是找不到类文件,说明我环境变量中肯定没有配置好,这应该才是报错的原因所在,
接下来我就要在环境变量中的CLASSPATH变量最后面追加 “; F:\SqlServerDrivers\sqljdbc4\sqljdbc4.jar”
但是这还不完整!!!!
如果只是上面那一步也不行,然后我又不断找资料,(可以参考文章:http://blog.csdn.net/u012453607/article/details/42456505),看完这个我突然醍醐灌顶,终于发现我竟然忘记最重要的事,就是我既然知道了是类文件的问题那就不应该遗忘还有jdk里面的类文件,还有需要支持的服务器的连接性问题。所以最终按照那位园主的建议执行以下4个步骤:
(1)我们需要将sqljdbc4.jar类库文件拷贝到C:\Program Files\Java\jdk1.7.0_80\jre\lib\ext目录下。(看你安装在哪个盘,下同)
(2)我们需要将sqljdbc4.jar类库文件拷贝到C:\Program Files\Java\jre7\lib\ext目录下。
(最好是,只要是jre文件夹,都复制一个sqljdbc4.jar到jre7\lib\ext里去!!)
(3) 如果是使用Tomcat做服务器(我使用的是Tomcat8),那么我们需要将sqljdbc4.jar类库文件拷贝到F:\tomcat\apache-tomcat-8.5.20\li目录下。
(4) 如果是使用Tomcat做服务器,那么我们需要将sqljdbc4.jar类库文件拷贝到F:\tomcat\apache-tomcat-8.5.20\webapps\examples\WEB-INF\lib目录下。
然后再次建立与数据源的连接:如下图所示,已成功建立连接啦!哈哈。
这样数据库就和MyEcplise连接上关系啦妈呀,真麻烦,可费劲了我不少时间去探索,有了数据库的支持那接下来就继续处理剩下的3个jsp页面文件:
logincheck.jsp
<%@ page language="java" pageEncoding="gb2312" import="java.sql.*"%>
validate page
<%
request.setCharacterEncoding("gb2312");
String username=(String)request.getParameter("username");
String password=(String)request.getParameter("password");//取出login.jsp的值
boolean validated=false;
//下面是数据库操作
String sql="select * from login";
ResultSet rs=SqlSrvDB.executeQuery(sql);//运行上面的语句
while(rs.next()){
if((rs.getString("username").trim().compareTo(username)==0)&&(rs.getString("password").compareTo(password)==0)){
validated=true;
}
}
rs.close();
SqlSrvDB.closeStmt();
SqlSrvDB.closeConn();
if(validated){
%>
<%
}else{
%>
<%
}
%>
<%@ page language="java" pageEncoding="gb2312"%>
留言板信息
<%out.print(request.getParameter("username")); %>,你好!欢迎登录留言板。
error.jsp
<%@ page language="java" pageEncoding="gb2312"%>
出错
登录失败!单击 这里返回
到这一步就已经完成了“前”与“后”,那么就剩下“中”啦!如图建立包与新建类(运用jdbc)来连接数据库
(终于真正用到了Java代码)
SqlSrvDBConn.java
package org.easybooks.test.jdbc;
import java.sql.*;
public class SqlSrvDBConn {
private String driverStr = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String connStr = "jdbc:sqlserver://localhost:1433; DatabaseName=login";
private String dbusername = "sa";
private String dbpassword = "123456";
private Connection conn;
private Statement stmt;
ResultSet rs;
public SqlSrvDBConn() {
stmt = null;
try{
Class.forName(driverStr);
conn = DriverManager.getConnection(connStr, dbusername, dbpassword);
stmt = conn.createStatement();
} catch (Exception e) {
System.out.println("数据连接失败!");
}
rs=null;
}
public ResultSet executeQuery(String sql){
try{
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}catch (Exception e) {
System.err.println("Data.executeQuery:"+e.getMessage());
}
return rs;
}
public void closeStmt(){
try {
stmt.close();
} catch (SQLException e) {
System.err.println("Data.executeQuery:"+e.getMessage());
}
}
public void closeConn(){
try {
conn.close();
} catch (SQLException e) {
System.err.println("Data.executeQuery:"+e.getMessage());
}
}
}
最后选择好自己之前配置的服务器就准备测试啦
在浏览器中输入http://localhost:8080/jsp_jdbc/ (8080是我配置Tomcat时设置的端口号)
但是当输入数据库对应的数据时,出现错误:
所以又出现一个新问题啦,哎,真是一波三折呀!!!
那怎样解决它呢,我们下回继续探讨啦
(当然希望有解决的同志可以在评论下留言给出你的解决方案,也再次谢谢啦)