zoukankan      html  css  js  c++  java
  • 添加新课程界面

     

    学生:陈天时

    教师:王建民

    日期:20171128

    项目计划总结

            任务

    日期

    听课

    编写程序

    日总计

    周二 11.28

    60

    165

    225

    时间记录日志

    日期

    开始时间

    结束时间

    中断时间

    净时(分钟)

    活动

    备注

    11.28

    10:00

    11:00

    60

    听课

    11:15

    12:00

    45

    编程

    套用之前使用的框架

    16:40

    17;40

    60

    编程

    编写判断语句

    缺陷记录日志

    日期

    编号

    类型

    引入阶段

    排除阶段

    修复阶段

    修复缺陷

    11.28

    1

    编码

    编译

    20min

    描述:漏掉了<%

    2

    编码

    编译

    30

    描述:  addInput.jsp 缺少<%=request.getAttribute("error") %>

    3

    package com.jaovo.msg.dao;
    import java.util.List;
    
    import com.jaovo.msg.model.Student;
    public interface IStudentDao 
    {
    	public void add(Student user);
    	public List<Student> 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.Student;
    
    public class StudentDaoImpl implements IStudentDao
    {
    	//向数据库添加的方法
    	@SuppressWarnings("resource")
    	public void add(Student user) 
    	{
    		//获得连接对象
    		Connection connection=DBUtil.getConnection();
    		//准备sql语句
    		String sql="select count(*) from t_student where name=?";
    		if(connection!=null)
    		{
    			System.out.print("连接成功");
    		}
    		else
    		{
    			System.out.print("连接失败");
    		}
    		//          查询数据的条数   条件:username=传进来的参数
    		//创建语句传输对象
    		PreparedStatement preparedStatement=null;
    		ResultSet resultSet=null;
    		try 
    		{
    			preparedStatement= connection.prepareStatement(sql);
    			preparedStatement.setString(1, user.getName());
    			//写几个问号,             1234,第几个问号   
    			//接收结果集(数据条数)
    			resultSet =preparedStatement.executeQuery();
    			//遍历结果集
    			while(resultSet.next())
    			{
    				if(resultSet.getInt(1)>0)
    				//结果集的条数。获取结果集的第一条数据(这里只要一条)
    				{
    					throw new UserException("用户已存在");
    				}
    			}
    			sql="insert into t_student(name,teacher,place) value(?,?,?)";
    			preparedStatement=connection.prepareStatement(sql);
    			preparedStatement.setString(1, user.getName());
    			preparedStatement.setString(2, user.getTeacher());
    			preparedStatement.setString(3, user.getPlace());
    			preparedStatement.executeUpdate();
    		} 
    		catch (SQLException e) 
    		{
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		}
    		finally
    		{
    			//关闭资源
    			DBUtil.close(resultSet);
    			DBUtil.close(preparedStatement);
    			DBUtil.close(connection);
    		}
    	}
    	public List<Student> load() 
    	{
    		Connection connection=DBUtil.getConnection();
    		//准备sql语句
    		String sql="selet * from t_student";
    		//selet *  获取数据库所有的列
    		//创建语句传输对象
    		PreparedStatement preparedStatement=null;
    		ResultSet resultSet=null;
    		//集合中只能放入user对象
    		List<Student> users=new ArrayList<Student>();
    		Student user=null;
    		try 
    		{
    			preparedStatement=connection.prepareStatement(sql);
    			resultSet=preparedStatement.executeQuery();
    			while(resultSet.next())
    			{
    				user=new Student();
    				user.setId(resultSet.getInt("id"));
    				user.setName(resultSet.getString("name"));
    				user.setTeacher(resultSet.getString("teacher"));
    				user.setPlace(resultSet.getString("place"));
    				users.add(user);
    			}
    		} 
    		catch (SQLException e) 
    		{
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		}
    		finally
    		{
    			DBUtil.close(preparedStatement);
    			DBUtil.close(connection);
    		}
    	return users;
    	}
    }
    

      

    package com.jaovo.msg.filter;
    
    import java.io.IOException;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    public class CharFilter implements Filter
    {
    	String encoding=null;
    	//初始化
    	@Override
    	public void init(FilterConfig filterConfig) throws ServletException 
    	{
    		// TODO 自动生成的方法存根
    		//获取初始化的参数
    		encoding=filterConfig.getInitParameter("encoding");
    	}
    	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
    			throws IOException, ServletException 
    	{
    		// TODO 自动生成的方法存根
    //		request.setCharacterEncoding("utf-8");
    		request.setCharacterEncoding(encoding);
    		System.out.println(encoding);
    		chain.doFilter(request, response);
    		//调用下一个过滤器
    		
    	}
    	@Override
    	public void destroy()
    	{
    		// TODO 自动生成的方法存根
    		
    	}
    }
    

      

    package com.jaovo.msg.filter;
    
    import java.io.IOException;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.jaovo.msg.model.Student;
    
    public class Loginfilter implements Filter{
    	@Override
    	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
    			throws IOException, ServletException {
    		//首先获取session
    		HttpServletRequest req = (HttpServletRequest) request;
    		HttpServletResponse resp = (HttpServletResponse) response;
    		
    		HttpSession session = req.getSession();
    		Student user = (Student) session.getAttribute("loginUser");
    		
    		if (user == null) {
    			resp.sendRedirect(req.getContextPath()+"/LoginInput.jsp");
    			return ;
    		}
    		chain.doFilter(req, resp);
    	}
    
    	@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void init(FilterConfig arg0) throws ServletException {
    		// TODO 自动生成的方法存根
    		
    	}
    }
    

      

    package com.jaovo.msg.model;
    
    public class Student 
    {
    	private int id;
    	private String name;
    	private String teacher;
    	private String place;
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getTeacher() {
    		return teacher;
    	}
    	public void setTeacher(String teacher) {
    		this.teacher = teacher;
    	}
    	public String getPlace() {
    		return place;
    	}
    	public void setPlace(String place) {
    		this.place = place;
    	}
    }
    

      

    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 
    		{
    			Class.forName("com.mysql.jdbc.Driver").newInstance();
    		}
    		catch(InstantiationException|IllegalAccessException | ClassNotFoundException e)
    		{
    			e.printStackTrace();
    		}
    		String user="root";
    		String password="root";
    		String url="jdbc:mysql://localhost:3306/jaovo_msg";
    		Connection connection=null;
    		try 
    		{
    			//2 创建连接对象
    			connection=DriverManager.getConnection(url, user, password);
    		}
    		catch (SQLException e) 
    		{
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		}
    		return connection;
    	}
    	//关闭资源方法
    	public static void close(Connection connection)
    	{
    		try 
    		{
    			if(connection!=null) 
    			{
    				connection.close();
    			}
    		} 
    		catch (SQLException e) 
    		{
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		}
    	}
    	public static void close(PreparedStatement PreparedStatement)
    	{
    		try 
    		{
    			if(PreparedStatement!=null) 
    			{
    				PreparedStatement.close();
    			}
    		} 
    		catch (SQLException e) 
    		{
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		}
    	}
    	public static void close(ResultSet resultSet)
    	{
    		try 
    		{
    			if(resultSet!=null) 
    			{
    				resultSet.close();
    			}
    		} 
    		catch (SQLException e) 
    		{
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		}
    	}
    }
    

      

    package com.jaovo.msg.Util;
    
    @SuppressWarnings("serial")
    public class UserException extends RuntimeException
    {
    
    	public UserException() 
    	{
    		super();
    		// TODO 自动生成的构造函数存根
    	}
    
    	public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) 
    	{
    		super(message, cause, enableSuppression, writableStackTrace);
    		// TODO 自动生成的构造函数存根
    	}
    
    	public UserException(String message, Throwable cause) 
    	{
    		super(message, cause);
    		// TODO 自动生成的构造函数存根
    	}
    
    	public UserException(String message) 
    	{
    		super(message);
    		// TODO 自动生成的构造函数存根
    	}
    
    	public UserException(Throwable cause) 
    	{
    		super(cause);
    		// TODO 自动生成的构造函数存根
    	}
    	
    }
    

      

    package com.jaovo.msg.Util;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    
    public class ValidateUtil 
    //验证信息是否为空
    {
    	public static boolean validateNull(HttpServletRequest request,String[] fileds) 
    	{
    		boolean validate =true;
    		//map对象用来装载不同的错误信息
    		@SuppressWarnings({ "unchecked", "rawtypes" })
    		Map<String, String> errorMsg= new HashMap();
    		//map容器  <>泛型
    		for(String filed:fileds)
    		{
    			//获取从客户端传递过来的参数
    			String value=request.getParameter(filed);
    			if(value==null||"".equals(value.trim()))
    			{
    				validate=false;
    				errorMsg.put(filed, filed+"不能为空");
    			}
    			if(!validate)
    			{
    				request.setAttribute("errormsg", errorMsg);
    			}
    		}
    		return validate;
    	}
    	public static String showError(HttpServletRequest request , String filed) {
    		@SuppressWarnings("unchecked")
    		Map<String, String> errorMsg = (Map<String,String>)request.getAttribute("errormsg");
    		if (errorMsg == null) 
    		{
    			return "";
    		}
    		String msg = errorMsg.get(filed);
    		if (msg == null) 
    		{
    			return "";
    		}
    		return msg;
    	}
    }
    

      

    <%@page import="com.jaovo.msg.dao.StudentDaoImpl"%>
    <%@page import="com.jaovo.msg.model.Student"%>
    <%@page import="com.jaovo.msg.Util.ValidateUtil"%>
    <%@page import="com.jaovo.msg.Util.UserException"%>
    <%@ 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 name = request.getParameter("name");
    	String teacher = request.getParameter("teacher");
    	String place = request.getParameter("place");
    	boolean validate = ValidateUtil.validateNull(request, new String[]{"name","teacher","place"});
    	if(teacher.equals("王建民")||teacher.equals("刘立嘉")||teacher.equals("刘丹")||teacher.equals("王辉")||teacher.equals("杨子光"))
    	{
    		
    	}
    	else
    	{
    		request.setAttribute("error", "教师姓名错误");
    %>
    		<jsp:forward page="addInput.jsp"></jsp:forward>
    <%
    	}
    	if(place.startsWith("一教")||place.startsWith("二教")||place.startsWith("三教")||place.startsWith("基教"))
    	{
    		
    	}
    	else
    	{
    		request.setAttribute("error", "上课地点错误");
    %>
    		<jsp:forward page="addInput.jsp"></jsp:forward>
    <%
    	}
    	Student user = new Student();
    	user.setName(name);
    	user.setTeacher(teacher);
    	user.setPlace(place);
    	StudentDaoImpl userDao = new StudentDaoImpl();
    	try
    	{
    	userDao.add(user);
    	out.print("添加成功");
    	//重定向
    	}catch(UserException e)
    	{
    %>
    	<h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2>
    	<%
    	}
    	%>
    </html>
    

      

    <%@page import="com.jaovo.msg.Util.ValidateUtil"%>
    <%@page import="java.util.Map"%>
    <%@ 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>
    
    
    	<form action="add.jsp" method="get">
    	<%=request.getAttribute("error") %>
    	<table>
    			<tr>
    				<td>课程名称: </td>
    				<td>
    					<input type="text" name="name" />
    					<%
    // 						if(errorMsg != null){
    // 							if(errorMsg.get("username") != null){
    // 								out.println( errorMsg.get("username"));
    // 							}
    // 						}
    						
    					%>
    					<%=ValidateUtil.showError(request, "name") %>
    				</td>
    			</tr>
    				<tr>
        			<td>任课教师:</td>
        			<td>
        				<input type="text" name="teacher" />
        				<%
    // 						if(errorMsg != null){
    // 							if(errorMsg.get("password") != null){
    // 								out.println( errorMsg.get("password"));
    // 							}
    // 						}
        				
    					%>
    					<%=ValidateUtil.showError(request, "teacher") %>
        			</td>
        		</tr>
        		<tr>
        			<td>上课地点:</td>
        			<td>
        				<input type="text" name="place" />
        				<%
    // 						if(errorMsg != null){
    // 							if(errorMsg.get("nickname") != null){
    // 								out.println( errorMsg.get("nickname"));
    // 							}
    // 						}
        				
    					%>
    					<%=ValidateUtil.showError(request, "place") %>
        			</td>
        		</tr>
        		<tr align="center">
        			<td colspan="2">
        				<input type="submit" value="提交" />
        				<input type="reset" value="重置" />
        			</td>
        		</tr>
    		</table>
    	</form>
    </body>
    </html>
    

      

  • 相关阅读:
    商贸通帐套隐藏方法
    固定资产打开提示:上年度数据未结转!
    ZOJ 2432 Greatest Common Increasing Subsequence
    POJ 1080 Human Gene Functions
    POJ 1088 滑雪
    POJ 1141 Brackets Sequence
    POJ 1050 To the Max
    HDOJ 1029 Ignatius and the Princess IV
    POJ 2247 Humble Numbers
    HDOJ 1181 变形课
  • 原文地址:https://www.cnblogs.com/cts1234/p/7911602.html
Copyright © 2011-2022 走看看