zoukankan      html  css  js  c++  java
  • 软件工程概论课堂测试01

    1.网站系统开发需要掌握的技术

    HTML语言可控制网页的内容。

    ⑵层叠样式表CSS控制网页的样式,比如不同的颜色,布局,排版。

    ⑶MySQL:一个网站会有很多页面,一个页面需要做一张html,当有很多张时就会需要维护在MySQL中。

    ⑷JDBC:一种用于执行SQL语句的Java API。当有很多张表时,如何操作这些数据呢?这是需要通过JDBC驱动与数据库建立连接、发送 操作数据库的语句并处理结果。

    ⑸JAVA语言基础:为了满足JDBC的运行,我们需要用到java语言。将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行。

    ⑹JSP:是一种动态页面技术。想要将通过JDBC操作的数据显示在HTML上,这时就需要用到JSP。

    ⑺Tomcat:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat服务器具有处理HTML页面的功能。另外它还是一个Servlet和JSP容器,可以保证JSP的运行。

    ⑻js(JavaScript):是目前所有主流浏览器上唯一支持的脚本语言,它能够让我们的网页具有动态效果。

    ⑼PS(PhotoShop):图片处理技术,网站制作过程中经常需要对图片进行处理,这时我们需要用到ps图片处理技术让我们想要的图片更适合我们的网站。

    ……

    网站系统开发需要掌握的技术还有很多,以上只是比较基础的一些,还有PHP、.net、asp、Bootstrap等等,以后还需要更深入的学习。^_^

    2.程序源代码

    定义接口,用以声明对用户的增删改查功能

    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 {
        
        
        //添加用户
        public void add(User user) {
            //获得链接对象
            Connection connection = DBUtil.getConnection();
            //准备sql语句
            String sql = "select count(*) from l_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 l_user(username,password) value (?,?)";
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setString(1, user.getUsername());
                preparedStatement.setString(2, user.getPassword());
                preparedStatement.executeUpdate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                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 l_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);
            }
            
        }
    
        //修改用户信息
        public void update(User user) {
            Connection connection = DBUtil.getConnection();
            //准备sql语句
            String sql = "update l_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);
            }
        }
    
        //以编号查找用户
        public User load(int id) {
            Connection connection = DBUtil.getConnection();
            //准备sql语句
            String sql = "select * from l_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"));
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
            return  user;
        }
        
        
        //以用户姓名查找用户信息
        public User load(String username) {
            // TODO Auto-generated method stub
            Connection connection = DBUtil.getConnection();
            //准备sql语句
            String sql = "select * from l_user  where username = ?";
            //创建语句传输对象
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            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.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;
        }
    
        //显示所有用户信息
        public List<User> load() {
            Connection connection = DBUtil.getConnection();
            //准备sql语句
            String sql = "select * from l_user ";
            //创建语句传输对象
            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"));
                    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;
        }
    }

    定义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) {
            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;
        }
        
        
        
        
    }

    定义工具类:实现连接数据库与关闭

    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 = "chen123";
            String url = "jdbc:mysql://localhost:3306/jaovo_Login";
            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
        }
        
    }

    设计登录界面(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="login.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 align="center">
                    <td colspan="2">
                        <input type="submit" value="登录" />
                    </td>
                </tr>
            </table>
        </form>
    </body>
    </html>

    登录界面的输入(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="loginInput.jsp"></jsp:forward>
    <%
        }
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        UserDaoImpl userDao = new UserDaoImpl();
        try{
            
        userDao.add(user);
        //重定向
        response.sendRedirect("list.jsp");
    %>
    
        
        
    <%
        }catch(UserException e){
    %>
        <h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2>
        <%
        }
        %>
    </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>
            </tr>
            <%
                for( User user : users ){
            %>
            <tr>
                <td> <%=user.getID() %></td>
                <td> <%=user.getUsername() %></td>
                <td> <%=user.getPassword() %></td>
                <td> <a href="delete.jsp ? id="<%=user.getID() %>" >删除</a></td>
                
            </tr>
            <%
                }
            %>
        </table>
    </body>
    </html>

    操作数据库

    -- mysal -u root -p root;
    -- show databases;
    -- drop database jaovo_shop;
    
    create database jaovo_Login;
    use jaovo_Login;
    GRANT ALL ON jaovo_Login.* to "jaovo"@"localhost" IDENTIFIED BY "root";
    create table l_user(
         id int(10) primary key auto_increment,
         username varchar(255),
         password varchar(255),
         type int(2),
         status int(2)
    );
    
    create table l_message(
       id          int(10) primary key auto_increment,                
       title                varchar(254),
       content              text,
       post_date             datetime,
       user_id               int(10),
       CONSTRAINT FOREIGN KEY(user_id) REFERENCES l_user(id)
    );
    
    create table l_comment(
       id        int(10) primary key auto_increment,  
       content       text,
       post_date     datetime,
       user_id       int(10),
       msg_id        int(10),
       CONSTRAINT FOREIGN KEY(user_id) REFERENCES l_user(id),
       CONSTRAINT FOREIGN KEY(msg_id) REFERENCES l_message(id)
    );

    3.运行结果截图

     4.难点

    对于界面的操作与对数据库的操作(重点)。

    5.目标

    希望能讲的详细一点,以便打好基础。希望学完这门课,自己的编程能力有一个提升,以及提高团队之间的默契度。我预计一个星期大概会有一天半的空余时间去练习。

  • 相关阅读:
    createpipe
    JavaScript中的JSON(非原创一)
    Delphi资源文件的应用(转)
    PowerDesigner15对SQL2005反向工程问题.
    readonly(C# 参考)
    SQL SERVER 2005 数据挖掘与商业智能完全解决方案学习笔记(四)
    什么是Actor?
    ORACLE自增长字段实现(转)
    SQL SERVER 2005 数据挖掘与商业智能完全解决方案学习笔记(二)
    J2EE框架(TomcatStrutsHibernateSpringAjax(dojo))开发步骤:
  • 原文地址:https://www.cnblogs.com/qilin20/p/7881123.html
Copyright © 2011-2022 走看看