用户登录界面

一建设网站需要懂以下几门技术:

1至少熟悉一种建站程序。

2.对空间和域名的知识有一定的了解。

3.有一些美工基础。

4.对编程有一些了解。

5.代码知识基本的要懂。

6.css+div会一点。

7.简单的网站优化技术。

8.熟悉引擎规则

二.源代码

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();
	
}

  

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 sun.net.www.content.text.plain;

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 = ?";
		//鍒涘缓璇�彞浼犺緭瀵硅薄
		PreparedStatement preparedStatement = null;
		ResultSet resultSet = null;
		try {
			preparedStatement = connection.prepareStatement(sql);
			preparedStatement.setString(1, user.getUsername());
			//鎺ユ敹缁撴灉闆�
			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.getUsername());
			preparedStatement.setString(2, user.getPassword());
			preparedStatement.setString(3, user.getNickname());
			preparedStatement.executeUpdate();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			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 Auto-generated catch block
			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 Auto-generated catch block
			e.printStackTrace();
		}finally {
			DBUtil.close(preparedStatement);
			DBUtil.close(connection);
		}
	}

	@Override
	public User load(int id) {
		Connection connection = DBUtil.getConnection();
		//鍑嗗�sql璇�彞
		String sql = "select * from t_user  where id = ?";
		//鍒涘缓璇�彞浼犺緭瀵硅薄
		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"));
				user.setPassword(resultSet.getString("password"));
				user.setNickname(resultSet.getString("nickname"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			DBUtil.close(resultSet);
			DBUtil.close(preparedStatement);
			DBUtil.close(connection);
		}
		return  user;
	}

	@Override
	public User load(String username) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<User> load() {
		Connection connection = DBUtil.getConnection();
		//鍑嗗�sql璇�彞
		String sql = "select * from t_user ";
		//鍒涘缓璇�彞浼犺緭瀵硅薄
		PreparedStatement preparedStatement = null;
		ResultSet resultSet = null;
		//闆嗗悎涓�彧鑳芥斁鍏�ser瀵硅薄
		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 Auto-generated catch block
			e.printStackTrace();
		}finally {
			DBUtil.close(resultSet);
			DBUtil.close(preparedStatement);
			DBUtil.close(connection);
		}
		return  users;
	}

}

  

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;
	}
	
}

  

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.mysql.jdbc.Driver").newInstance();
		} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String user = "root";
		String password = "root";
		String url = "jdbc:mysql://localhost:3306/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();
		}
	}
	
}

  

package com.jaovo.msg.Util;

public class UserException extends RuntimeException{

	public UserException() {
		super();
		// TODO Auto-generated constructor stub
	}

	public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
		super(message, cause, enableSuppression, writableStackTrace);
		// TODO Auto-generated constructor stub
	}

	public UserException(String message, Throwable cause) {
		super(message, cause);
		// TODO Auto-generated constructor stub
	}

	public UserException(String message) {
		super(message);
		// TODO Auto-generated constructor stub
	}

	public UserException(Throwable cause) {
		super(cause);
		// TODO Auto-generated constructor stub
	}
	
}

  

<%@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);
%>


	用户保存成功!!<br>
	<a href="addInput.jsp">继续添加</a><br>
	<a href="#">用户列表</a>
<%
	}catch(UserException e){
<%@ 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>

  

<%@page import="com.jaovo.msg.model.User"%>
<%@page import="java.util.List"%>
<%@page import="com.jaovo.msg.dao.UserDaoImpl"%>
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户展示界面</title>
</head>
<%
	UserDaoImpl userDao = new UserDaoImpl();
	List<User> users = userDao.load();
%>
<body>
	<table align="center" border="1" width="500">
		<tr>
			<td>用户编号</td>
			<td>用户名称</td>
			<td>用户密码</td>
			<td>用户昵称</td>
		</tr>
		<%
			for( User user : users ){
		%>
		<tr>
			<td> <%=user.getId() %></td>
			<td> <%=user.getUsername() %></td>
			<td> <%=user.getPassword() %></td>
			<td> <%=user.getNickname() %></td>
			<td> <a href="delete.jsp ? id="<%=user.getId() %>" >删除</a></td>
			
		</tr>
		<%
			}
		%>
	</table>
</body>
</html>

  

%> <h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2> <% } %> </html>

  三.

四没完成的原因:用户密码出错

五:10小时

文学使思想充满血与肉,他比科学和哲学更能给予思想以巨大的明确性和说明性。
原文地址:https://www.cnblogs.com/zpsblog/p/7886233.html