zoukankan      html  css  js  c++  java
  • 软件工程概论--课后作业1

             作业概况:

                               

       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.源代码

        1.代码思想:

    将用户信息设置一个User类,有编号、用户名、密码等私有属性,公有的get、set方法,然后 将用户信息操作设置一个接口IUserDao,利用UserDaoImpl类实现接口,实现具体操作。因为要实现数据库信息的查找,所以将连接数据库写入DBUtil类中,可能操作会出错,错误异常写在UserException类中,然后是应用页面显示,所以利用.jsp,设计一个主登录界面addInput.jsp,因为登录的实质即是在数据库中查找相应信息,若表中有此条信息,则显示表中信息、登录成功,若无,则登录失败查找界面:load.jsp

    数据库的连接:1.加载驱动  2.创建连接对象 3.创建语句传输对象 4.接收结果集 5.遍历 6.关闭资源。

                 2.源代码   

     User类:

    package com.jaovo.msg.model;
    
    public class User {
        private int id;
        private String username;
        
        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 getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        
    
    }

    IUserDao类:

     

    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 类:

    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) value (?,?)";
                 preparedStatement=connection.prepareStatement(sql);
                 preparedStatement.setString(1, user.getUsername());
                 preparedStatement.setString(2, user.getPassword());
                
                 preparedStatement.executeUpdate();
            } catch (SQLException e) {
                
                e.printStackTrace();
            }finally
            {
                //关闭资源
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
                
            }
        }
        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)
            {
                e.printStackTrace();
            }finally
            {
                //关闭资源
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
                
            }
            
        }
    
        public void update(User user) {
            //获得连接对象
            Connection connection=DBUtil.getConnection();
            //准备sql语句
            String sql="update t_user set password=? where id= ?";
            //创建语句传输对象
            PreparedStatement preparedStatement=null;
            try {
                preparedStatement=connection.prepareStatement(sql);
                preparedStatement.setString(1, user.getPassword());
                preparedStatement.setInt(2, 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 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"));
                         }
                    } 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) {
            //获得连接对象
            Connection connection=DBUtil.getConnection();
            //准备sql语句
            String sql="select * from t_user where username = ?";
            //创建语句传输对象
            PreparedStatement preparedStatement=null;
            ResultSet resultSet=null;
            //集合中只能放User对象
            User user=null;
            try {
                preparedStatement=connection.prepareStatement(sql);
                preparedStatement.setString(1,username);
                resultSet=preparedStatement.executeQuery();
                 //遍历结果集
                 while(resultSet.next())
                 {
                     user=new User();
                     user.setUsername(username);
                     user.setId(resultSet.getInt("id"));
                     user.setPassword(resultSet.getString("password"));
                 } 
                 
            } catch (SQLException e) {
                
                e.printStackTrace();
            }finally
            {
                //关闭资源
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
                
            }  
              return user;    
        }
    
        @Override
        public List<User> load() {
            //获得连接对象
            Connection connection=DBUtil.getConnection();
            //准备sql语句
            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("password"));
                     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;
        }
    
    }

    DBUtil 类:

    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() {
            
                //1 加载驱动
                try {
                    Class.forName("com.mysql.jdbc.Driver").newInstance();
                } catch (InstantiationException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (IllegalAccessException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (ClassNotFoundException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            String user = "root";
            String password = "root";
            String url = "jdbc:mysql://localhost:3306/test";
            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();
            }
        }
        
    }

    UserException 类:

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

    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>
                    <tr align="center">
                     <h2 style="color:black ; font-size:50px ;">用户登录页面</h2>
    </head>
    <body>
        <h2 style="color:red ;"><%=request.getAttribute("error") %></h2>
        <form action="load.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 align="center">
                    <td colspan="2">
                        <input type="submit" value="登录" />
                        <input type="reset" value="重置" />
                    </td>
                </tr>
            </table>
        </form>
    </body>
    </html>

    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");
        if(username == null || "".equals(username.trim())){
            request.setAttribute("error", "用户名不能为空");
        
    %>
        <jsp:forward page="addInput.jsp"></jsp:forward>
    <%
        }
        User user2=new User();
        UserDaoImpl userDao = new UserDaoImpl();
         user2=userDao.load(username);  
             if((user2==null))
             {
              request.setAttribute("error", "用户不存在");
              %>
              <jsp:forward page="addInput.jsp"></jsp:forward>
              <% 
              }
              else if((!(user2.getPassword().contentEquals(password))&&user2!=null))
              {
              request.setAttribute("error", "用户密码输入错误");
              %>
              <jsp:forward page="addInput.jsp"></jsp:forward>
              <% 
              }
              else
              {
        //重定向response.sendRedirect("List.jsp");
        %>
        用户登录成功<br>
        <table align="center" border="1" width="500">
            <tr>
                <td>用户编号</td>
                <td>用户名称</td>
                <td>用户密码</td>
            </tr>
            <%
            %>
            <tr>
                <td> <%=user2.getId() %></td>
                <td> <%=user2.getUsername() %></td>
                <td> <%=user2.getPassword() %></td>
                
            </tr>
            <%
            %>
        </table>
        <a href="addInput.jsp">返回登录界面</a><br>    
    <%
    }
    %>
    </html>

           3.运行结果截图

    表中信息:

        

     

    先输入正确用户名和密码:3 3

    显示界面:

     

    输入正确用户名:1 错误密码2

    显示:

     

    输入用户名、密码错误:6 6

     

    4.我希望自己会成为自愿在深水区游泳的人,会努力在深水区生存。

    目标:希望自己可以在团队作业中培养团队精神,独立的开发一项简单软件,对于软件生命周期的各个阶段有实际的了解,对于软件设计有实际的掌握,对敏捷软件开发的具体技术有实践能力。

    周二 :早晨-下午 完成作业和自行拓展(也可归纳)

    周四 :中午-下午 课后复习和归纳

    周天 :早晨   预习和自行拓展

     

  • 相关阅读:
    客户端加锁
    三次握手
    ForkJoinTask
    主从Reactor多线程模型
    Happen-before
    Enum
    Java 8
    Netty
    分布式一致性算法
    VisualStudio 2013 快捷键
  • 原文地址:https://www.cnblogs.com/zhao-teng-ass/p/7885250.html
Copyright © 2011-2022 走看看