题目:
界面要求:绘制一个登陆界面:包括两个标签控件、两个文本框和一个登陆按钮;(完成界面绘制功能1分);
功能要求:
1、数据库要求:要求在数据库中建立用户表,表中包括用户名和密码(1分),实现数据库连接功能(1 分);
2、输入正确的用户名和密码,点击登录按钮,提示登录成功(0.5分)。输入错误的用户名或者密码,登录会失败,并提示错误信息(0.5分)
3什么都不输入,点击登陆按钮,提示“请输入用户名”信息(0.5分)
4、输入密码时加密显示(以星号“*”显示个数信息)。(0.5分)
程序源代码:
连接数据库:
package com.jaovo.msg.Util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBUtil { public static Connection getConnection() { try { //1 鍔犺浇椹卞姩 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } String user = "sa"; String password = "123456"; String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=jaovo_msg"; Connection connection = null; try { //2 鍒涘缓閾炬帴瀵硅薄connection connection = DriverManager.getConnection(url,user,password); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return connection; } //鍏抽棴璧勬簮鐨勬柟娉� public static void close(Connection connection ) { try { if (connection != null) { connection.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void close(PreparedStatement preparedStatement ) { try { if (preparedStatement != null) { preparedStatement.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void close(ResultSet resultSet ) { try { if (resultSet != null) { resultSet.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
登录的jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>用户登录页面</title> </head> <body> <%String res=(String)request.getAttribute("error"); if(res=="null"||res==null) { res=""; } %> <%=res%> <form action="logincheck.jsp" method="get"> <table align="center" border="1" width="500"> <tr> <td>用户名称 : </td> <td> <input type="text" name="username" /> </td> </tr> <tr> <td>用户密码:</td> <td> <input type="password" name="password" /> </td> </tr> <tr align="center"> <td colspan="2"> <input type="submit" value="登录" /> <input type="reset" value="重置" /> <input type="button" value="注册" onClick="window.location.href='addInput.jsp'"/> </td> </tr> </table> </form> </body> </html>
检查登录信息是否正确:
<%@page import="com.jaovo.msg.Util.UserException"%> <%@page import="com.jaovo.msg.dao.UserDaoImpl"%> <%@page import="com.jaovo.msg.model.User"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <% //接收客户端传递过来的参数 String username = request.getParameter("username"); String password = request.getParameter("password"); if (username == null || "".equals(username.trim())) { request.setAttribute("error", "用户名不能为空"); %> <jsp:forward page="login.jsp"></jsp:forward> <% } %> <% User user = new User(); user.setUsername(username); user.setPassword(password); UserDaoImpl userDao = new UserDaoImpl(); try { if (userDao.checkuser(user)) { %> <jsp:forward page="success.jsp"></jsp:forward> <% } else { request.setAttribute("error", "用户名/密码有误"); %> <jsp:forward page="login.jsp"></jsp:forward> <% } } catch (UserException e) { %> <h2 style="color: red; font-size: 50px"> 发生错误 : <%=e.getMessage()%></h2> <% } %> </html>
程序结果截图:
数据库表格:
输入正确的账户密码:
输入错误的账户密码:
什么都不输入:
输入密码时加密:
列出你对这门课的希望和自己的目标,
并具体列出你计划每周花多少时间在这门课上。
希望自己可以熟练掌握Java web的网页系统开发,以及脚本语言的语法,还有对数据库应该熟练操作。并且在熟练掌握后,可以对相关的程序进行程序的优化,是程序更加的简洁,运行的高效。本人计划在该门课上每周花费10个小时的时间来学习软件工程概论。