• 1.设计任务书 1.1 简单的学生管理体统 本人计划编写一个简单的学生管理系统,主要从两个身份来说——老师和学生,对于老师来说,带验证码的登录注册,对学生进行增删改查,以分页的形式展示学生的所有信息;对于...
    项目地址:
    链接: https://pan.baidu.com/s/1Ul97vJQ6dVRqCAw6i5jHhg
    提取码: mpwt
    
    1.设计任务书
    1.1 简单的学生管理体统
    本人计划编写一个简单的学生管理系统,主要从两个身份来说——老师和学生,对于老师来说,带验证码的登录注册,对学生进行增删改查,以分页的形式展示学生的所有信息;对于学生来说,带验证码的登录注册,以及查询自己的信息,修改自己的信息,以及查询其他学生的信息除密码以外。具体要求如下:
    1、实现数据库连接,数据库有两个表,一个教师表,一个学生表教师表只有简单的username和password两个属性,学生表有sid name password gender birthday address等属性;
    2、学生信息的增删改查;
    3、写出老师及学生的登录注册的代码;
    4、用代码生成一张验证码;
    5、对学生信息进行分页
    6、在网页上具体操作,并显示结果
    1.2 本系统涉及的知识点
    函数、数据库、jsp、servlet、面向对象、动画
    2.功能设计(左对齐,宋体粗四号)
    2.1 算法设计
    本系统需要实现的功能要求:
    	教师登陆成功后会有以下选择如图1所示:
    (1)	选择要操作:
    ![这里写图片描述](https://img-blog.csdn.net/20160721215506628)
    (2)	选择5后,进入到如图2所示的菜单,输入要查询学生的学号,SelectServlet拿到相应的数据后,通过创建对象调用Student类的select方法进行查询,然后SelectServlet把查到的数据传给selectstudent.jsp在网页上显示出来如图3所示的主菜单
    ![这里写图片描述](https://img-blog.csdn.net/20160721215605721)
    ![这里写图片描述](https://img-blog.csdn.net/20160721215637599)
    (3)	根据所选菜单编写相应代码:
    求查询函数:
    ![这里写图片描述](https://img-blog.csdn.net/20160721215721049)
    
    2.2 部分模块流程图
    ![这里写图片描述](https://img-blog.csdn.net/20160721215816456)
    3.程序代码设计
    (1)	数据库连接(需要引入jar包)
    
    ```
    public class DBO {
    		static String url="jdbc:mysql://localhost:3306/dl";
    	tatic String user="root";
    	static String password="123";
    	static{
    try {
    	Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
    				e.printStackTrace();
    }
    	}
    	public static Connection getConnection() {
    Connection conn=null;
    try {
    	conn=DriverManager.getConnection(url, user, password);
    } catch (SQLException e) {
    				e.printStackTrace();
    }
    	return conn;
    	}
    }
    
    ```
    (2)	老师和学生类
    	a.老师类
    ```
    public class Teacher {
    			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;
    			}
    	}
    
    ```
    b.学生类
    id sid name password gender birthday address属性以及相应的get   set方法(与上面相同)
    (3)	学生登录注册以及老师要操作的增删改查
    3.1.学生相关操作的接口
    
    ```
    public interface StudentManager {
    		//登录时
    public Student CheckLogin(String name,String sid,String password);
    		//添加学生信息
    		public boolean addStudent(Student student);
    		//更新学生信息
    public boolean updateStudent(String sid,Student student);
    		//删除学生信息
    		public boolean deleteStudent(String sid);
    		//查询所有的学生信息
    		public List getAllStudent(String sid);
    	}
    
    ```
    	3.2.学生相关操作的接口的实现类
    	
    
    ```
    	public  class StudentManagerImpl implements StudentManager {
    		public Student CheckLogin(String name, String sid,String password) {
    	Student s=null;
    		Connection conn=null;
    		Statement st=null;
    		ResultSet rs=null;
    		String sql="select * from student";
    		conn=DBO.getConnection();
    		try {
    			st=conn.createStatement();
    			rs=st.executeQuery(sql);
    			while(rs.next()) {
    				String nm=rs.getString("name");
    				String id=rs.getString("sid");
    				String psd=rs.getString("password");
    	if(nm.equals(name) && id.equals(sid) && psd.equals(password)) {
    					s= new Student();
    					s.setName(nm);
    					s.setSid(id);
    					s.setPassword(psd);
    					s.setGender(rs.getString("gender"));
    					s.setAddress(rs.getString("address"));
    					s.setId(rs.getInt("id"));
    					s.setBirthday(rs.getString("birthday"));
    				}
    			}
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return s;
    	}
    	public boolean addStudent(Student student) {
    		// TODO Auto-generated method stub
    		boolean flag=false;
    		String sql="insert into student(sid,name,password,gender,birthday,address) values(?,?,?,?,?,?)";
    		Connection conn=null;
    		PreparedStatement pst=null;
    		conn=DBO.getConnection();
    		try {
    			pst=conn.prepareStatement(sql);
    			pst.setString(1,student.getSid());
    			pst.setString(2,student.getName());
    			pst.setString(3, student.getPassword());
    			pst.setString(4,student.getGender());
    			pst.setString(5,student.getBirthday());
    			pst.setString(6,student.getAddress());	
    			pst.executeUpdate();
    			flag=true;
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return flag;
    	}
    	public boolean updateStudent(String sid, Student student) {
    		// TODO Auto-generated method stub
    		boolean flag=false;
    		String sql="update student set name=?,password=?,gender=?,birthday=?,address=? where sid='"+sid+"'";
    		Connection conn=null;
    		PreparedStatement pst=null;
    		conn=DBO.getConnection();
    		try {
    			pst=conn.prepareStatement(sql);
    			pst.setString(1,student.getName());
    			pst.setString(2,student.getPassword());
    			pst.setString(3,student.getGender());
    			pst.setString(4,student.getBirthday());
    			pst.setString(5,student.getAddress());	
    			pst.executeUpdate();
    			flag=true;
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return flag;
    	}
    	public boolean deleteStudent(String sid) {
    		// TODO Auto-generated method stub
    		boolean flag=false;
    		String sql="delete from student where sid='"+sid+"'";
    		System.out.println(sql);
    		Connection conn=null;
    		PreparedStatement pst=null;
    		conn=DBO.getConnection();
    		try {
    			pst=conn.prepareStatement(sql);
    			int row=pst.executeUpdate();
    			if(row>0)
    				flag=true;
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return flag;
    	}
    	public List getAllStudent(String sid) {
    		// TODO Auto-generated method stub
    		List list=new ArrayList();
    		String sql="select * from student where sid='"+sid+"'";
    		Connection conn=null;
    		Statement st=null;
    		ResultSet rs=null;
    		conn=DBO.getConnection();
    		try {
    			st=conn.createStatement();
    			rs=st.executeQuery(sql);
    			while(rs.next()) {
    				Student s=new Student();
    				s.setSid(sid);
    				s.setName(rs.getString("name"));
    				s.setPassword(rs.getString("password"));
    				s.setGender(rs.getString("gender"));
    				s.setBirthday(rs.getString("birthday"));
    				s.setAddress(rs.getString("address"));
    				list.add(s);
    			}
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return list;
    	}
    }
    
    ```
    3.3登陆的servlet
    
    ```
    public class CheckLogin extends HttpServlet {
    	public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
    		doPost(request, response);
    	}
    	public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		String name=request.getParameter("username");
    		String sid=request.getParameter("sid");
    		String password=request.getParameter("password");
    		String checkcode=request.getParameter("checkcode");
    		String piccode=(String) request.getSession().getAttribute("piccode");
    		StudentManager smg = new StudentManagerImpl();
    		Student s=new Student();
    		s=smg.CheckLogin(name, sid,password);
    		HttpSession session=request.getSession();
    		session.setAttribute("s", s);
    		if(s!=null && checkcode.equalsIgnoreCase(piccode)) {
    			response.sendRedirect("person.jsp");
    		}else{
    			response.sendRedirect("error.jsp");
    		}	
    	}
    }
    
    ```
    3.4注册和登录的servlet道理相似
    (4)	老师的登录注册与学生的相似(就已不在写了)
    (5)	验证吗
    
    ```
    public class PicCodeGenerator extends HttpServlet {
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		doPost(request, response);
    	}
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		BufferedImage bi=new BufferedImage(68,22,BufferedImage.TYPE_INT_BGR);
    		Graphics g=bi.getGraphics();
    		Color color=new Color(224,205,19);
    		g.setColor(color);
    		g.fillRect(0, 0, 68,22);
    		char [] c="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
    		Random random= new Random();
    		int len=c.length;
    		int temp;
    		StringBuffer sb=new StringBuffer(4);
    		for(int i = 0 ; i pageBean = studentService.findByPageBean(pc);
    		//pageBean.setPc(pc);
    		pageBean.setUrl(uri);
    		//将数据放到Request域
    		request.setAttribute("pb", pageBean);
    		//转发
    		request.getRequestDispatcher("Partner.jsp").forward(request, response);
    	}
    }
    
    ```
    4.界面及运行效果、测试工具与测试效果
     4.1身份选择(碰到教师和学生,这两个词会转动,老师这个小人会左右移动)
     ![这里写图片描述](https://img-blog.csdn.net/20160722083807843)
    4.11选择教师后,进入老师登录界面,下面有超链接返回和注册
    ![这里写图片描述](https://img-blog.csdn.net/20160722083849001)
    ![这里写图片描述](https://img-blog.csdn.net/20160722083911611)
    (1)填入正确的username和password以及验证码吗后进入
    ![这里写图片描述](https://img-blog.csdn.net/20160722083938971)
    (2)对学生进行增删改查操作
    ![这里写图片描述](https://img-blog.csdn.net/20160722084000518)
    (3)用分页查询所有学生(上下一页可以跳转)
    ![这里写图片描述](https://img-blog.csdn.net/20160722084038613)
     4.12选择学生后,进入学生登录界面,下面有超链接返回和注册
     ![这里写图片描述](https://img-blog.csdn.net/20160722084104205)
     (1)	学生登陆成功的界面
     ![这里写图片描述](https://img-blog.csdn.net/20160722084152237)
     (1)	学生登陆成功的界面
     ![这里写图片描述](https://img-blog.csdn.net/20160722084338570)
     5.设计总结
    	1.本人在程序设计中遇到了非常多的困难,通过找他人请教,百度,以及翻阅书籍,一点一点解决错误,收获颇多,学到了非常多的知识,以及更加巩固我以前的知识
    2.调试程序:先判断是哪一步程序出错,缩小范围在具体修改
    比如:登陆失败时
    
    ![这里写图片描述](https://img-blog.csdn.net/20160722084622317)
    
    
    6.致谢
    	通过这次的实践,我不仅对学到的东西加以综合,巩固,以及学到许多新的知识,收获颇多,这也是我第一次做的小项目,虽然比较简单,但感到非常充实,也更加的熟悉如何调试程序,等等。
    参考文献
    	《Java基础教程》
    	http://www.imooc.com/
    	http;www.baidu.com/
    	《传智播客_2015年java基础视频-深入浅出版》
    	等等
    
    展开全文
  • javaweb课程设计题目 2020-07-06 23:31:23
    javaweb课程设计题目 包括素材
  • java web课程设计 2020-06-08 18:20:19
    虽然功能实现的不全,但是基础功能实现,只有个别几个网页的跳转没有做完,但是代码具有参考价值,另外由于数据库问题,下载后可能不能直接使用
  • JavaWeb课程设计 2020-06-14 23:30:09
    JavaWeb课程设计
  • Java Web课程设计 2019-07-02 20:43:44
    为时两周的Java Web课程设计,使用目前流行的Spring Boot后端框架,Layui前端框架,做了一个业务逻辑较简单,具有前后台的图书借阅管理系统,还有很多很多很多的不足,该项目已放在github上,欢迎交流,批评指正~~~ ...
  • Java Web课程设计报告 2020-07-02 10:40:39
    本系统是一个简易的通讯簿管理系统,系统的主要功能包括:新用户注册功能,用户登录功能,能根据用户登录的身份(分为管理员和普通用户)不同显示不同的功能页面。当用户作为普通用户登录时,可以进行通讯簿查询和...
  • Java web课程设计-购物系统 2020-06-09 11:52:28
    Java web课程设计是为了是计算机学院的学子深入学习java web应用开发设置的一门实验性的动手性的实践课程。是计算机科学与技术、 网络工程、信息安全、物联网工程、软件工程等专业集中实践的教学环节,是将关jav...
  • java课程设计登陆界面 2015-06-25 02:03:26
    java课程设计需要一个登陆界面,要包含登陆和注册,要最简单的代码,也要好理解
  • Java_web期末课程设计学生信息管理系统 一、系统开发的意义 随着计算机和网络的普及,学生信息从纸质类变为电子信息类,管理电子类信息变得尤为重要。学生信息管理系统是学校内部重要的工具之一,不仅可以提高管理...
  • 大二下学期java课程设计 2018-05-15 13:37:06
    具体到我的下载页下载(开源)
  • 采用Java+前端+servlet+mysql设计的图书馆管理系统。 源代码:https://download.csdn.net/download/lk888666/11892227 可以实现注册发送手机验证码,借书发送邮箱通知。 欢迎访问个人博客点击访问 可回答问题...
  • Java课程设计-日历记事本 2020-01-04 17:54:23
    #Java课程设计—日历记事本 ##日历记事本 要求:带有日程提醒功能的日历(数据库可采用Access、SQL Server或者MySQL)。 (1)显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。 ...
  • import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.sql.*; import javax.swing.table.*; class allstudent extends JFrame implements Act...
  • Java课程设计题目 2008-11-17 20:48:00
    Java课程设计题目1、编写一个记事本程序要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。2、模拟龟兔赛跑要求:用图形用户界面实现。能设置比赛时间,马匹的数量...
  • 熟悉项目开发过程中SSM框架、JSP、Mysql...Java Web从入门到电商项目实战挑战万元高薪(javaweb教程) https://edu.csdn.net/course/detail/25976 其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习
  • 项目涉及技术:  1、前端:jsp、css...Java Web从入门到电商项目实战挑战万元高薪(javaweb教程) https://edu.csdn.net/course/detail/25976 其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习
  • Java程序设计,包含Servlet,JSP等。这里是怀旧版,曾用于2004,2005,2006年北京航空航天大学软件学院。Email: hhmall@hotmail.com 课程目录Getting Start处理客户端请求: 表单数据处理客户端请求: HTTP请求头生成...
  • java 设计模式 免费 视频课程 更详细课程大纲入口:https://edu.csdn.net/course/detail/23462 详细课程直接播放地址:https://edu.csdn.net/course/play/23462
  • web课程设计 2019-06-10 13:04:01
    一、课程设计要求 1、在导航条中添加一个后台管理系统。 2、后台页面分成左右两个框,左边显示一个树形菜单,右边根据菜单选择相应的交互页面。 3、实现对用户、产品分类、产品、订单等的后台管理。 4、具体页面...
  • 做一个通讯录管理系统,要求java与数据库结合,用eclipse能做出登录界面? 这个系统该怎么做?
1 2 3 4 5 ... 20
收藏数 34,417
精华内容 13,766