
一.实验目的:
1、 掌握servlet访问数据库的方法;
2、 掌握与数据库连接有关的类;
二.实验内容:
1.安装、配置MySQL数据库
打开压缩文件[MYSQL.V5.0.27.for.Linux.、Win32].mysql-5.0.27-win32.zip双击setup,然后按提示安装即可.
2.加载驱动程序
(1)方法一
解压mysql-connector-java-5.0.8.zip得到 mysql-connector-java-5.0.8-bin.jar复制到 CATALINA_HOME\lib 下。
(2)方法二
把驱动程序包中的mysql-connector-java-5.0.8-bin.jar加入到Java构建路径中(build path)。点击add External jars按钮
3.解压MySQL+Tools+for+5.0.zip(提供的是MySQL Tools的非安装版,解压缩即可)
运行其中的MySQL Query Browser建立数据库example及其表user,向表中输入3条记录。
4. 启动MySQL数据库
开始->所有程序->MySQL-> MySQL Server 5.0-> MySQL Command Line Client双击即出现命令行窗口,输入密码即可。
mysql>show databases;(该命令可显示数据库)
mysql>use example;(打开example数据库)
mysql>show tables;(显示数据表)
5.运行MyEclipse建立Dynamic Web Poject
建立4个jsp文件:
login.jsp 登陆页面
register.jsp 注册页面
loginSeccess.jsp 显示登陆成功
registerSeccess.jsp 显示注册成功
建立2个Servlet文件:
LoginServlet.java 到user表中查找登陆用户名和密码,找到转到登陆成功页面,
否则转到登陆页面(重新登陆)。
RegisterServlet.java 将注册用户的用户名和密码加入到user表中。
参考代码如下:
login.jsp:
LoginServlet.java:
package database;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginTestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Connection conn=null;
PreparedStatement st=null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/example";
String user="root";
String password="000000";
conn=DriverManager.getConnection(url, user, password);
st=conn.prepareStatement("select * from user where username=? and password=?");
st.setString(1, request.getParameter("username"));
st.setString(2, request.getParameter("password"));
ResultSet rs=st.executeQuery();
if(rs.next())
{
request.getRequestDispatcher("loginResults.jsp").forward(request, response);
}
else
{
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}catch (Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
loginSeccess.jsp
welcome you:
<%=request.getParameter("username") %>
三.练习
模仿login.jsp、LoginSerlet.java和loginSeccess.jsp完成
register.jsp、RegisterServlet.java和registerSeccess.jsp。
