⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classsvlt.java

📁 这是书上的<java毕业设计指南与项目实践>的第6章:基于JSP+JavaBean+Servlet的课程管理系统,供大家参考
💻 JAVA
字号:
package com.course;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ClassSvlt extends HttpServlet{
	 //响应get请求	
public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
    //获取JSP页面提交的班级ID	
    String class_id =req.getParameter("id");
    int success = 0;
    //获取请求中的参数
    String action = action = req.getParameter("action");
    classp cla = null;
    String message="";
     //如果请求中包含新建班级参数
     if ("new".equalsIgnoreCase(action)) {
      //调用新建班级方法
      cla = doNew(req,res);
      //并将新建班级存储在request上下文中,然后转向getClass.jsp页面
      sendBean(req, res, cla,"/getClass.jsp");
    }  
     // 如果请求中包含更新班级参数  
    if ("update".equalsIgnoreCase(action)) {
    	try{	
    	//调用更新班级方法
     	cla = doUpdate(req,res, class_id);
        //并将新建班级存储在request上下文中,然后转向getClass.jsp页面
     	sendBean(req,res,cla,"/getClass.jsp");
     	   }
     	  catch(SQLException e){} 
    }
        //如果请求中包含删除班级参数  		   
    if ("delete".equalsIgnoreCase(action)) {
    	try{
        //调用删除班级方法
      	success = doDelete(class_id);	
      	    }
      	    catch(SQLException e){}				
    	if (success != 1) {
    		doError(req, res, "ClassSvlt: Delete unsuccessful. Rows affected: " + success);
    	} else {
    		res.sendRedirect("http://localhost:8080/test/getClass.jsp");
    	}}
       
    }
      //定义新建班级方法
     public classp doNew(HttpServletRequest req,HttpServletResponse res )
                           throws ServletException,IOException{
      classp cla= new classp();                     	
      String class_id=req.getParameter("id");
      String tea_id=req.getParameter("tea_id");
      String cour_id=req.getParameter("cour_id");
      String room_id=req.getParameter("room_id");
      String cour_time=req.getParameter("cour_time");
    
  if(isTrue(req,res,class_id) && hasMoreclass(tea_id,cour_time,req,res) ){  
      cla.setId(class_id);
      cla.setTea_id(tea_id);   
      cla.setCour_id(cour_id);
      cla.setRoom_id(room_id);
      cla.setCour_time(cour_time);
      cla.addClass();
                                     }
      return cla;                	
                           	
                           	}
   //判断一名教师是否在某个时间已经有课                        	
 public boolean hasMoreclass(String tea_id,String cour_time,HttpServletRequest req,HttpServletResponse res)
       throws ServletException,IOException{
      	boolean f=true;
      	String temp="";
      	String message="";
      	classp cla=new classp();
      	temp=cla.hasMoreclass(tea_id,cour_time);
      	if (temp=="no")
         f=true;
        else {
        	f=false;
        message="对不起,该教师("+tea_id+")在"+cour_time+"时间已经安排有课"+temp+""	;
        doError(req,res,message);
        	}        	
      	return f;
      	
      	}
    //判断是否更该课程安排  	
   public boolean hasChange(String tea_id,String cour_time,
   HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{
   	boolean f=false;
   	String tea_id0=req.getParameter("tea_id0");
   	String cour_time0=req.getParameter("cour_time0");
   	if(!tea_id.equals(tea_id0) || !cour_time.equals(cour_time0) )
  	f=true;
   	return f;
   	}   	                       	
   //更新班级信息                        	
  public classp doUpdate(HttpServletRequest req,HttpServletResponse res , String id)
                           throws ServletException,IOException,SQLException {                      	
      classp cla = new classp();                    
      String tea_id=req.getParameter("tea_id");
      String cour_id=req.getParameter("cour_id");
      String room_id=req.getParameter("room_id");
      String cour_time=req.getParameter("cour_time");
    if(hasChange(tea_id,cour_time,req,res)){ 
    if(hasMoreclass(tea_id,cour_time,req,res)){
    cla.updateClass(id,tea_id,cour_id,room_id,cour_time);
    }}else{
    cla.updateClass(id,cour_id,room_id);	   	
    	}
		return cla;
  }                        	
    //删除班级                       	
   public int doDelete(String id) throws SQLException {
  	int num=0;
    classp cla=new classp();
    num=cla.deleteClass(id);
    return num;
  } 
  
   //将JavaBean对象存储在request上下文中
  public void sendBean(HttpServletRequest req, HttpServletResponse res,
                       classp cla, String target)
                       throws ServletException, IOException {
    req.setAttribute("cla", cla);
    RequestDispatcher rd = getServletContext().getRequestDispatcher(target);
    rd.forward(req, res);
  }
  
  //错误处理方法
  public void doError(HttpServletRequest req,
                      HttpServletResponse res,
                      String str)
                      throws ServletException, IOException {


    req.setAttribute("problem", str);
    RequestDispatcher rd = getServletContext().getRequestDispatcher("/errorpage.jsp");
    rd.forward(req, res);
  }
  
  //判断班级是否注册成功                        	
  public boolean isTrue(HttpServletRequest req, HttpServletResponse res,
                        String id)
                        throws ServletException, IOException {
   classp cla = new classp();                     	
   boolean f=true;                     	
   String message ="";
   if(id==null || id.equals(""))  {
   	f=false;
   	message="错误,班级号不能为空!";
   	doError(req,res,message);	}
   if(cla.hasLogin(id)){
   	f=false;
   	message="对不起,班级("+id+")已经注册了!";
    doError(req,res,message);
   	} 
     return f;
     
  }
  //响应post请求	
  public void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {

    doGet(req, res);

  }
  
  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -