问题与思考6

网络系统都需要哪些技术:

JSP基础,JSP动作指令,JavaBean, JDBC, 表达试语言,国际化、标准标签库,MVC模式,数据库链接

JSP用于显示,servlet用于控制,JSP主要完成与用户的交互过程,不应该包括处理代码和控制代码

课堂测试代码:

   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 = "LQYroot";

              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{

 

    /**

     *

     */

    private static final long serialVersionUID = 1L;

 

    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 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 lang="en">

<head>

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

    <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>

    <title>用户添加页面</title>

    <style type="test/css">.box{

    700 px;

    height:352 px;

    margin:0 auto;

    backgrand:url(bbb.PNG)) no-repeat center;

}</style>

</head>

<body>

    <div class="box"></div>

    <%=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>

              

           </tr>

           <tr align="center">

               <td colspan="2">

                   <input type="submit" 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("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{

        //UserDaoImpl userDao = new UserDaoImpl();

    userDao.add(user);

    //重定向

%>

 

   

   

<%

    }catch(UserException e){

%>

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

    <%

    }

    %>

</html>

运行截图:

 

说明课堂测试未按时完成的原因:

   没有提前学习数据库方面的知识,上课时没有认真记笔记,记录eclipse的配置方法,课下也没有认真学习JSp方面的知识,总的来说自主学习能力不足。

对这门课的希望和目标;

   实践中学习,实践中总结,锻炼独立解决问题的能力,勤于总结,善于合作,积极学习。

    计划每周有25小时的学习该门课程的时间。

原文地址:https://www.cnblogs.com/1605-3QYL/p/7881462.html