• 网页版增加信息---添加


    实验要求:

    要求判断任课教师为王建民、刘立嘉、刘丹、封筠、韩培花五位教师的其中一位。

    要求上课地点开头为“一教”、“二教”、“三教”、“基教”中的一种

    实现数据存储功能。

    程序设计思想:

    先创建类模型,user

    再通过DBUtil和数据库连接

    然后在UserDaoImple中实现添加功能

    再addInput.jsp文件中实现页面的构建

    在add.jsp文件中实现网页添加和判断的功能。

    源代码:

     package com.jaovo.msg.model;
     2 
     3 public class User {
     4    private int id;
     5    private String lesson;
     6    private String teacher;
     7    private String status;
     8 public User(int int1, String string, String string2, String string3) {
     9     // TODO Auto-generated constructor stub
    10 }
    11 public User() {
    12     // TODO Auto-generated constructor stub
    13 }
    14 public int getId() {
    15     return id;
    16 }
    17 public void setId(int id) {
    18     this.id = id;
    19 }
    20 public String getLesson() {
    21     return lesson;
    22 }
    23 public void setLesson(String lesson) {
    24     this.lesson = lesson;
    25 }
    26 public String getTeacher() {
    27     return teacher;
    28 }
    29 public void setTeacher(String teacher) {
    30     this.teacher = teacher;
    31 }
    32 public String getStatus() {
    33     return status;
    34 }
    35 public void setStatus(String status) {
    36     this.status =status;
    37 }
    38    
    39 }
    1 package com.jaovo.msg.dao;
    2 import com.jaovo.msg.model.User;
    3 import java.util.List;
    4 public interface IUserDao {
    5     public void add(User user);//添加用户
    6 }
     1 package com.jaovo.msg.dao;
     2 
     3 import java.sql.Connection;
     4 import java.sql.PreparedStatement;
     5 import java.sql.ResultSet;
     6 import java.sql.SQLException;
     7 import java.util.ArrayList;
     8 import java.util.List;
     9 
    10 
    11 import com.jaovo.msg.Util.DBUtil;
    12 import com.jaovo.msg.Util.UserException;
    13 import com.jaovo.msg.model.User;
    14 
    15 import sun.net.www.content.text.plain;
    16 
    17 public class UserDaoImpl implements IUserDao {
    18 
    19     @Override
    20     public void add(User user) {
    21         //获得链接对象
    22         Connection connection = DBUtil.getConnection();
    23         //准备sql语句
    24         String sql = "select count(*) from t_user where lesson = ?";
    25         //创建语句传输对象
    26         PreparedStatement preparedStatement = null;
    27         ResultSet resultSet = null;
    28         try {
    29             preparedStatement = connection.prepareStatement(sql);
    30             preparedStatement.setString(1, user.getLesson());
    31             //接收结果集
    32             resultSet = preparedStatement.executeQuery();
    33             //遍历结果集
    34             while(resultSet.next()) {
    35                 if (resultSet.getInt(1) > 0) {
    36                     throw new UserException("用户已存在") ;
    37                 }
    38             }
    39             
    40             sql = "insert into t_user(lesson,teacher,status) value (?,?,?)";
    41             preparedStatement = connection.prepareStatement(sql);
    42             preparedStatement.setString(1, user.getLesson());
    43             preparedStatement.setString(2, user.getTeacher());
    44             preparedStatement.setString(3, user.getStatus());
    45             preparedStatement.executeUpdate();
    46         } catch (SQLException e) {
    47             // TODO Auto-generated catch block
    48             e.printStackTrace();
    49         }finally {
    50             //关闭资源
    51             DBUtil.close(resultSet);
    52             DBUtil.close(preparedStatement);
    53             DBUtil.close(connection);
    54         }
    55         
    56     }
    57 }
     1 package com.jaovo.msg.filter;
     2 import java.io.IOException;
     3 
     4 import javax.servlet.Filter;
     5 import javax.servlet.FilterChain;
     6 import javax.servlet.FilterConfig;
     7 import javax.servlet.ServletException;
     8 import javax.servlet.ServletRequest;
     9 import javax.servlet.ServletResponse;
    10 public class CharFilter implements Filter{
    11    String encoding=null;
    12 @Override
    13 public void destroy() {
    14     // TODO Auto-generated method stub
    15     
    16 }
    17 
    18 @Override
    19 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    20     // TODO Auto-generated method stub
    21     request.setCharacterEncoding("utf-8");    
    22     request.setCharacterEncoding("encoding");
    23     chain.doFilter(request, response);
    24 }
    25 
    26 @Override
    27 public void init(FilterConfig filterConfig) throws ServletException {
    28     // TODO Auto-generated method stub
    29     encoding = filterConfig.getInitParameter("encoding");
    30 }
    31    
    32 }
    1 package com.jaovo.msg.Util;
    2 
    3 import com.jaovo.msg.dao.UserDaoImpl;
    4 
    5 public class DaoFactory {
    6    public static UserDaoImpl getDaoImpl() {
    7        return new UserDaoImpl();
    8    }
    9 }
     1 package com.jaovo.msg.Util;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.PreparedStatement;
     6 import java.sql.ResultSet;
     7 import java.sql.SQLException;
     8 
     9 public class DBUtil {
    10     
    11     public  static  Connection getConnection() {
    12         try {
    13             //1 加载驱动
    14             Class.forName("com.mysql.jdbc.Driver").newInstance();
    15         } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
    16             // TODO Auto-generated catch block
    17             e.printStackTrace();
    18         }
    19         String user = "root";
    20         String password = "root";
    21         String url = "jdbc:mysql://localhost:3306/jaovo_msg";
    22         Connection connection = null;
    23         try {
    24             //2 创建链接对象connection
    25              connection = DriverManager.getConnection(url,user,password);
    26         } catch (SQLException e) {
    27             // TODO Auto-generated catch block
    28             e.printStackTrace();
    29         }
    30         return connection;
    31     }
    32     
    33     //关闭资源的方法
    34     public static void close(Connection connection ) {
    35         try {
    36             if (connection != null) {
    37                 connection.close();
    38             }
    39             
    40         } catch (SQLException e) {
    41             // TODO Auto-generated catch block
    42             e.printStackTrace();
    43         }
    44     }
    45     public static void close(PreparedStatement preparedStatement ) {
    46         try {
    47             if (preparedStatement != null) {
    48                 preparedStatement.close();
    49             }
    50             
    51         } catch (SQLException e) {
    52             // TODO Auto-generated catch block
    53             e.printStackTrace();
    54         }                                                 
    55     }
    56     public static void close(ResultSet resultSet ) {
    57         try {
    58             if (resultSet != null) {
    59                 resultSet.close();
    60             }
    61             
    62         } catch (SQLException e) {
    63             // TODO Auto-generated catch block
    64             e.printStackTrace();
    65         }
    66     }
    67     
    68 }
     1 package com.jaovo.msg.Util;
     2 
     3 public class UserException extends RuntimeException{
     4 
     5     public UserException() {
     6         super();
     7         // TODO Auto-generated constructor stub
     8     }
     9     public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
    10         super(message, cause, enableSuppression, writableStackTrace);
    11         // TODO Auto-generated constructor stub
    12     }
    13     public UserException(String message, Throwable cause) {
    14         super(message, cause);
    15         // TODO Auto-generated constructor stub
    16     }
    17 
    18     public UserException(String message) {
    19         super(message);
    20         // TODO Auto-generated constructor stub
    21     }
    22 
    23     public UserException(Throwable cause) {
    24         super(cause);
    25         // TODO Auto-generated constructor stub
    26     }
    27     
    28 }
    ValidateUtil
    1
    package com.jaovo.msg.Util; 2 import java.util.HashMap; 3 import java.util.Map; 4 import javax.servlet.http.HttpServletRequest; 5 public class ValidateUtil { 6 public static boolean validateNull(HttpServletRequest request,String[] fileds) 7 { 8 boolean validate=true; 9 //map对象用来装载不同的错误信息 10 Map<String,String> errorMsg=new HashMap(); 11 for(String filed:fileds) 12 { 13 String value=request.getParameter(filed); 14 if(value==null||"".equals(value.trim())) 15 { 16 validate=false; 17 errorMsg.put(filed,filed+"不能为空"); 18 } 19 } 20 return validate; 21 } 22 public static String showError(HttpServletRequest request,String filed) 23 { 24 Map<String,String> errorMsg=(Map<String,String>)request.getAttribute("errormsg"); 25 if(errorMsg==null) 26 { 27 return ""; 28 } 29 String msg=errorMsg.get(filed); 30 if(msg==null) 31 { 32 return ""; 33 } 34 return msg; 35 } 36 }
    add.jsp 
    1
    <%@page import="com.jaovo.msg.Util.UserException"%> 2 <%@page import="com.jaovo.msg.dao.UserDaoImpl"%> 3 <%@page import="com.jaovo.msg.model.User"%> 4 <%@ page language="java" contentType="text/html; charset=UTF-8" 5 pageEncoding="UTF-8"%> 6 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 7 <html> 8 <% 9 //接收客户端传递过来的参数 10 String lesson = request.getParameter("lesson"); 11 String teacher = request.getParameter("teacher"); 12 String status = request.getParameter("status"); 13 if(lesson == null || "".equals(lesson.trim())){ 14 request.setAttribute("error", "用户名不能为空"); 15 //} 16 %> 17 <jsp:forward page="addInput.jsp"></jsp:forward> 18 <% 19 } 20 if(lesson!=null&&(lesson.equals("软件工程概论")||lesson.equals("统一建模")||lesson.equals("数据结构")||lesson.equals("离散数学")||lesson.equals("马克思原理"))) 21 { 22 23 } 24 else 25 { 26 request.setAttribute("error", "课程信息不在范围里"); 27 //} 28 %> 29 <jsp:forward page="addInput.jsp"></jsp:forward> 30 <% 31 } 32 if(teacher!=null&&(teacher.equals("刘丹")||teacher.equals("王建民")||teacher.equals("封筠")||teacher.equals("韩培花")||teacher.equals("刘力嘉"))) 33 { 34 35 } 36 else 37 { 38 request.setAttribute("error", "教师姓名不在范围里"); 39 //} 40 %> 41 <jsp:forward page="addInput.jsp"></jsp:forward> 42 <% 43 } 44 if(status!=null&&(status.equals("基教")||status.equals("二教")||status.equals("三教")||status.equals("九教")||status.equals("学院楼"))) 45 { 46 47 } 48 else 49 { 50 request.setAttribute("error", "任课地点不在范围里"); 51 //} 52 %> 53 <jsp:forward page="addInput.jsp"></jsp:forward> 54 <% 55 } 56 User user = new User(); 57 user.setLesson(lesson); 58 user.setTeacher(teacher); 59 user.setStatus(status); 60 61 UserDaoImpl userDao = new UserDaoImpl(); 62 try{ 63 userDao.add(user); 64 %> 65 用户保存成功!!<br> 66 <a href="addInput.jsp">继续添加</a><br> 67 <a href="#">用户列表</a> 68 <% 69 }catch(UserException e){ 70 %> 71 <h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2> 72 <% 73 } 74 %> 75 </html>
    addInput.jsp
    1
    <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <title>用户添加页面</title> 7 </head> 8 <body> 9 <%=request.getAttribute("error") %> 10 <form action="add.jsp" method="get"> 11 <table align="center" border="1" width="500"> 12 <tr> 13 <td>课程名称 : </td> 14 <td> 15 <input type="text" name="lesson" /> 16 </td> 17 </tr> 18 <tr> 19 <td>任课教师:</td> 20 <td> 21 <input type="text" name="teacher" /> 22 </td> 23 </tr> 24 <tr> 25 <td>任课地点:</td> 26 <td> 27 <input type="text" name="status" /> 28 </td> 29 </tr> 30 <tr align="center"> 31 <td colspan="2"> 32 <input type="submit" value="提交" /> 33 <input type="reset" value="重置" /> 34 </td> 35 </tr> 36 </table> 37 </form> 38 </body> 39 </html>

    运行结果截图:

    出现的错误分析:

    出错的最基本点还是在特别容易连不上数据库,因为一些小的问题系统就出错误,而且在添加判断的时候,由于对html语言不太熟悉,因为一个花括号加错了一个位置,而出现了整个程序就出了问题,直接网页出现404的错误,当时确实特别懵逼,但是通过李志强及时看出了这个错误,让完成的时间减少了不少。

    没完成的地方

    就是关于地点的判断还达不到后缀有几零几。

    心得:

    希望完成这次博客园之后,找一些解决方案,对系统做进一步的分析。

  • 相关阅读:
    图床_OpenStack-镜像服务
    图床_OpenStack-认证服务
    图床_OpenStack-基础环境
    #linux包之tcpdump之tcpdump命令
    利用OpenCms9提供的模块创建新站点
    Cocos2d-x3.0下实现循环列表
    Modbus读写模拟量寄存器具体解释
    C++ 实践总结
    spring Quartz基于配置文件和注解的实现
    EEPLAT学习
  • 原文地址:https://www.cnblogs.com/lovema1210/p/7911200.html
Copyright © 2020-2023  润新知