一个登陆界面及其功能的设计
1.网站系统开发需要掌握的技术:
1.基础内容
网页设计概述、网站设计制作的基本流程、色彩搭配在网站中的应用、网站用户界面的设计、网站广告的设计、网站中表格的使用、网站中层的应用、框架网站的制作、模板网站的制作、使用行为和Javascript制作特效、使用CSS样式表设计网页、建设数据库网站、
2、技术内容
HTML语法、CSS语法、JavaScript语法
3、图像处理
Flash动画创意、GIF动画制作、网页图片处理
4、行业网站实例
个人网站、企业宣传网站、新闻资讯网站、教育网站、电子政务网站、旅游网站、免费资源网站、门户网站、电子商务网站
5、后台编程
数据库:SQLServer设计、MySQL设计、Access设计
编程语言:ASP、JSP、VBScript、JavaScript、PHP、ASP.net
编程实例:文章发布系统、留言板、BBS、会员注册系统、在线购物网站
6、网站管理
网站维护、网站规划、网站管理、商业网站全程制作、商业网站开发规范
2.程序源代码
IUserDao.java package com.jaovo.msg.dao; import java.util.List; import com.jaovo.msg.model.User; public interface IUserDao { public void add(User user); public void delete(int id); public void update(User user); public User load(int id); public User load(String username); public List<User> load(); }
UserDaoImpl.java package com.jaovo.msg.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.jaovo.msg.Util.DBUtil; import com.jaovo.msg.Util.UserException; import com.jaovo.msg.model.User; import com.sun.javafx.sg.prism.web.NGWebView; public class UserDaoImpl implements IUserDao { //向数据库添加的方法 @Override public void add(User user) { //获得连接对象 Connection connection=DBUtil.getConnection(); //准备sql语句 String sql="select count(*) from t_user where username=?"; if(connection!=null) { System.out.print("连接成功"); } else { System.out.print("连接失败"); } // 查询数据的条数 条件:username=传进来的参数 //创建语句传输对象 PreparedStatement preparedStatement=null; ResultSet resultSet=null; try { preparedStatement= connection.prepareStatement(sql); preparedStatement.setString(1, user.getUsername()); //写几个问号, 1234,第几个问号 //接收结果集(数据条数) resultSet =preparedStatement.executeQuery(); //遍历结果集 while(resultSet.next()) { if(resultSet.getInt(1)>0) //结果集的条数。获取结果集的第一条数据(这里只要一条) { throw new UserException("用户已存在"); } } sql="insert into t_user(username,password,nickname) value(?,?,?)"; preparedStatement=connection.prepareStatement(sql); preparedStatement.setString(1, user.getNickname()); preparedStatement.setString(2, user.getPassword()); preparedStatement.setString(3, user.getNickname()); preparedStatement.executeUpdate(); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } finally { //关闭资源 DBUtil.close(resultSet); DBUtil.close(preparedStatement); DBUtil.close(connection); } } @Override public void delete(int id) { Connection connection=DBUtil.getConnection(); String sql="delete from t_user where id=?"; PreparedStatement preparedStatement=null; try { preparedStatement=connection.prepareStatement(sql); preparedStatement.setInt(1, id); preparedStatement.executeUpdate(); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } finally { DBUtil.close(preparedStatement); DBUtil.close(connection); } } @Override public void update(User user) { Connection connection=DBUtil.getConnection(); //准备sql语句 String sql="update t_user set password=?,nickname=? where id=?"; //创建语句传输对象 PreparedStatement preparedStatement=null; try { preparedStatement =connection.prepareStatement(sql); preparedStatement.setString(1, user.getPassword()); preparedStatement.setString(2, user.getNickname()); preparedStatement.setInt(3, user.getId()); preparedStatement.executeUpdate(); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } finally { DBUtil.close(preparedStatement); DBUtil.close(connection); } } @Override public User load(int id) { Connection connection=DBUtil.getConnection(); //准备sql语句 String sql="selet * from t_user where id=?"; //selet * 获取数据库所有的列 //创建语句传输对象 PreparedStatement preparedStatement=null; ResultSet resultSet=null; User user=null; try { preparedStatement=connection.prepareStatement(sql); preparedStatement.setInt(1, id); resultSet=preparedStatement.executeQuery(); while(resultSet.next()) { user=new User(); user.setId(id); user.setUsername(resultSet.getString("username")); //从结果集获得的username user.setPassword(resultSet.getString("password")); user.setNickname(resultSet.getString("nickname")); } } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } finally { DBUtil.close(preparedStatement); DBUtil.close(connection); } return user; } @Override public User load(String username) { //自己写 // TODO 自动生成的方法存根 return null; } @Override public List<User> load() { Connection connection=DBUtil.getConnection(); //准备sql语句 String sql="selet * from t_user"; //selet * 获取数据库所有的列 //创建语句传输对象 PreparedStatement preparedStatement=null; ResultSet resultSet=null; //集合中只能放入user对象 List<User> users=new ArrayList<User>(); User user=null; try { preparedStatement=connection.prepareStatement(sql); resultSet=preparedStatement.executeQuery(); while(resultSet.next()) { user=new User(); user.setId(resultSet.getInt("id")); user.setUsername(resultSet.getString("username")); user.setPassword(resultSet.getString("password")); user.setNickname(resultSet.getString("nickname")); users.add(user); } } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } finally { DBUtil.close(preparedStatement); DBUtil.close(connection); } return users; } }
User.java package com.jaovo.msg.model; public class User { private int id; private String username; private String nickname; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
DBUtil.java 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 { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch(InstantiationException|IllegalAccessException | ClassNotFoundException e) { e.printStackTrace(); } String user="root"; String password="root"; String url="jdbc:mysql://localhost:3306/jaovo_msg"; Connection connection=null; try { //2 创建连接对象 connection=DriverManager.getConnection(url, user, password); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } return connection; } //关闭资源方法 public static void close(Connection connection) { try { if(connection!=null) { connection.close(); } } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } public static void close(PreparedStatement PreparedStatement) { try { if(PreparedStatement!=null) { PreparedStatement.close(); } } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } public static void close(ResultSet resultSet) { try { if(resultSet!=null) { resultSet.close(); } } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }
UserExceptiong.java package com.jaovo.msg.Util; public class UserException extends RuntimeException { public UserException() { super(); // TODO 自动生成的构造函数存根 } public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { super(message, cause, enableSuppression, writableStackTrace); // TODO 自动生成的构造函数存根 } public UserException(String message, Throwable cause) { super(message, cause); // TODO 自动生成的构造函数存根 } public UserException(String message) { super(message); // TODO 自动生成的构造函数存根 } public UserException(Throwable cause) { super(cause); // TODO 自动生成的构造函数存根 } }
add.jsp <%@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"); String nickname = request.getParameter("nickname"); if(username == null || "".equals(username.trim())){ request.setAttribute("error", "用户名不能为空"); %> <jsp:forward page="addInput.jsp"></jsp:forward> <% } User user = new User(); user.setUsername(username); user.setPassword(password); user.setNickname(nickname); UserDaoImpl userDao = new UserDaoImpl(); try{ userDao.add(user); %> <a href="addInput.jsp">继续添加</a><br> <a href="#">用户列表</a> <% }catch(UserException e) { %> <h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2> <% } %> </html>
addInput.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> <%=request.getAttribute("error") %> <form action="add.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> <td>用户昵称:</td> <td> <input type="text" name="nickname"/> </td> </tr> <tr align="center"> <td colspan="2"> <input type="submit" value="提交"/> <input type="reset" value="重置"/> </td> </tr> </table> </form> </body> </html>
3.运行结果:
4.由于编译代码时的粗心,导致许多错误系统并未检测出来,但缺导致了连接数据库的问题。
5.希望在这门课结课的时候,可以独立自主的做出一个独立的系统,实现对信息的多方面的使用,每周花费至少10个小时的时间用于学习