• 一个登陆界面及其功能的设计


    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个小时的时间用于学习

  • 相关阅读:
    影响Java EE性能的十大问题
    Android APK加壳技术方案【2】
    动态实时跟踪你的java程序
    ASP.NET MVC载入页面常用方法
    JavaWeb禁用浏览器缓存
    JavaWebresponse两个流
    nslookup命令用法
    GDAL交流 QQ群
    事件(二)——Jquery事件模型
    浅谈meta标签
  • 原文地址:https://www.cnblogs.com/cts1234/p/7885527.html
Copyright © 2020-2023  润新知