02PSP0级及登陆界面开发

Posted KNOWNOTING

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02PSP0级及登陆界面开发相关的知识,希望对你有一定的参考价值。

一、PSP0级

二、程序设计思想

编写jsp,dao包内加入方法,连接数据库,测试连接。

三、源代码

<form action="add.jsp" method="get">
        <table align="center" border="1" width="500">
            <tr>
                <td> 课程名称: </td>
                <td>
                    <input type="text" name="username" />
                    <%
//                         if(errorMsg != null){
//                             if(errorMsg.get("username") != null){
//                                 out.println( errorMsg.get("username"));
//                             }
//                         }
                        
                    %>
                    
                </td>
            </tr>
                <tr>
                <td>教师名称:</td>
                <td>
                    <input type="password" name="password" />
                    <%
//                         if(errorMsg != null){
//                             if(errorMsg.get("password") != null){
//                                 out.println( errorMsg.get("password"));
//                             }
//                         }
                    
                    %>
                    
                </td>
            </tr>
            <tr>
                <td>上课地点:</td>
                <td>
                    <input type="text" name="nickname" />
                    <%
//                         if(errorMsg != null){
//                             if(errorMsg.get("nickname") != null){
//                                 out.println( errorMsg.get("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.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("passwor");
    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){
%>
    <h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2>
    <%
    }
    %>
</html>
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();
        
        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();
    
        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();
        
        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("passwor"));
                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();
    
        String sql = "select * from t_user ";
    
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
    
        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("passwor"));
                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;
    }

}

 

以上是关于02PSP0级及登陆界面开发的主要内容,如果未能解决你的问题,请参考以下文章

JSP 设计教师与学生不同登陆界面(带验证码)

PSP0级报告

第二次程序+PSP0级

四则运算3+psp0

[作业管理系统开发实战三 ]用户登陆模块的后端代码(thinkphp5)

四则运算2及psp0设计