900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 使用Eclipse创建JavaWeb动态网页项目(二)连接数据库

使用Eclipse创建JavaWeb动态网页项目(二)连接数据库

时间:2018-10-25 17:57:18

相关推荐

使用Eclipse创建JavaWeb动态网页项目(二)连接数据库

上一篇文章介绍了如何使用Servlet建立网页的动态反应,这篇文章介绍数据库的连接方法。

网上大多数文章以MySQL为例,这里介绍Oracle在JavaWeb中的连接方法。

文章目录

配置Oracle连接用到的jar包使用html文件实现表单重写Servlet的doPost()方法建立java类实现数据库连接方法写一个登陆成功的html文件

整个项目的文件结构如下:

配置Oracle连接用到的jar包

将ojdbc6.jar放到WEB-INF中的lib下,然后配置项目BuildPath,Add External Library。如果不进行这一步操作,会在Class.forName()时出现“无法找到类”的错误。

使用html文件实现表单

注意:action后面的目录是处理表单的.java文件的路径

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><form action="servlet/Login" method="post"><!--action与servlet名对应 -->Account:<input type="text" name="username"> <br><br>Password:<input type="password" name="password"><br><br> Account Type:<input type="radio" name="usertype" value="admin">Developer<input type="radio" name="usertype" value="user">Registered User<br><br><input type="submit" value="登录"><input type="reset" value="重置"></form></body></html>

重写Servlet的doPost()方法

注意:这个Servlet应当是上面html中action后面的文件,即servlet包下的Login.java。重写方法如下:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubrequest.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;String username = request.getParameter("username");String password = request.getParameter("password");PrintWriter out=response.getWriter(); try {conn= DBReading.getConn(conn);String sql = "select * from users where username= ? and password=?";ps =conn.prepareStatement(sql);ps.setString(1, username);ps.setString(2, password);rs= ps.executeQuery();if (rs.next()) {// 登陆成功,跳转到success页面out.print("<script>alert('Successfully logged in!');window.location.href='/BigData_Web/success.jsp'</script>");rs.close();} else {out.print("<script>alert('Sorry, the account with this keycode was not found.');window.location.href='/BigData_Web/login.html'</script>");rs.close();}} catch (SQLException e) {e.printStackTrace();}}

建立java类实现数据库连接方法

写完doPost方法还不能运行。在上面代码try的第一行,调用了DBReading.getConn()方法,用于建立数据库连接。

在servlet包中新建一个java class,实现数据库连接代码:

package servlet;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DBReading {private static String driver = "oracle.jdbc.driver.OracleDriver"; //驱动 private static String url = "jdbc:oracle:thin:@//localhost:1521/你的数据库名"; //连接字符串,这里需要改数据库名称private static String username = "system"; //用户名,需要改private static String password = "oracle"; //密码,需要改// 获得连接对象public static synchronized Connection getConn(Connection conn){if(conn == null){try {Class.forName(driver);conn = DriverManager.getConnection(url, username, password);} catch (ClassNotFoundException e) {e.printStackTrace();}catch (SQLException e) {e.printStackTrace();}}return conn;}}

写一个登陆成功的html文件

在上面Servlet的方法中,如果在数据库中查找到用户名和密码,通过out.print(window.location.href=’/BigData_Web/success.jsp’)实现页面跳转。

这里在项目的WebContent下新建一个success.jsp即可。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。