毕业设计|基于SSM+JSP的家校通管理系统

简介: 毕业设计|基于SSM+JSP的家校通管理系统

项目编号:ZJL

一,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

二,项目简介

前台登陆:

本系统用户分为三大类:管理员学生家长和老师。

为这三大类用户提供他们各自的功能:

管理员:校内公告发布、申请公告发布到网站、申请新闻发布到网站、校内新闻、登录及权限验证、注册申请、密码找回、管理本校事务。申请家长身份,维护学生——家长关系(申请新的学生与家长关系,取消学生与家长关系)。消息推送。

老师(按不同的身份权限):登录及权限验证、留言、发布问卷调查、布置作业、考试管理、学籍管理。申请家长身份,维护学生——家长关系(申请新的学生与家长关系,取消学生与家长关系)。消息推送。

学生家长:登录及权限验证、注册申请、密码找回。维护学生——家长关系(申请新的学生与家长关系,取消学生与家长关系)。查看学生作业。即时聊天功能(类似qq群一样)

为实现各用户的功能系统需提供的功能:

网站首页及栏目设置:网站介绍、最近动态、公告、网站新闻、用户登录入口、注册入口、密码找回功能入口。

与用户身份相匹配的个人登录后的功能界面入口:学校用户及学生家长能看到本学校内的公告和校内新闻;与个人权限相匹配的各功能入口。

用户注册及密码找回功能、登录及权限验证功能。

网站页面展示模块:网站介绍、最近动态、学校注册情况、公告、网站新闻、用户登录入口、密码找回功能入口、注册入口。

鉴权及功能入口展示模块:学校用户及学生家长能看到本学校内的公告和校内新闻;与个人权限相匹配的各功能入口。

后台:

系统管理模块:用户帐户管理、权限管理、网站介绍发布、最近动态发布、审核用户注册申请、新闻公告审核、发布系统公告、发布网站新闻。校内新闻管理、申请新闻发布到网站;帐户管理(注册老师用户,为老师用户指定身份角色,激活、禁用帐户);学科年级信息维护、学校班级信息维护、学科信息维护;学校信息维护。

老师应用模块(按不同的身份权限):沟通交流、布置作业、考试管理、学籍管理(录入本班学生信息、分班、学生升、留级、毕业)、个人信息维护。申请家长身份,维护学生——家长关系(申请新的学生与家长关系,取消学生与家长关系)。考虑利用手机进行短信推送信息。

学生家长应用模块:沟通交流、作业下载。维护学生——家长关系(申请新的学生与家长关系,取消学生与家长关系)

三,系统展示

3.1 前后功能

3.2 后台管理

四,核心代码展示

4.1 教室管理

@Controller
@RequestMapping("/classroom")
public class ClassroomController extends BaseController {
  /**
   * 依赖注入 start dao/service/===
   */
  @Autowired
  private ClassroomService classroomService;
  @Autowired
  private SchoolService  schoolService;
  @Autowired
  private GradeService gradeService;
  @Autowired
  private TeacherService teacherService;
  /**
   * 分页查询 返回list对象(通过对象)
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/findByObj.do")
  public String findByObj(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response,HttpSession session) {
    Pager<Classroom> pagers=new Pager<Classroom>();
    Integer schoolId = (Integer) session.getAttribute("schoolId");
    if(!isEmpty(classroom.getName())){
       Map<String, Object> map = getMap();
       map.put("name",classroom.getName());
       map.put("schoolId",schoolId);
      //模糊查询分页查询
       pagers = classroomService.findByMap(map);
    }else{
      classroom.setSchoolId(schoolId);
      //分页查询
      pagers = classroomService.findByEntity(classroom);
    }
    for (Classroom classroom1 : pagers.getDatas()) {
      Teacher obj = teacherService.load(classroom1.getId());
      if(obj!=null){
        classroom1.setTeacherName(obj.getRealName());     
        }
      Grade g=gradeService.load(classroom1.getGradeId());
      if(g!=null){
        classroom1.setGradeName(g.getName());
      }
    }
    model.addAttribute("pagers", pagers);
    //存储查询条件
    model.addAttribute("obj", classroom);
    return "classroom/classroom";
  }
  /**
   * 分页查询 返回list对象(通过Map)
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/findByMap.do")
  public String findByMap(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response,HttpSession session) {
    //通过map查询
    Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(classroom.getName())){
          params.put("name", classroom.getName());
    }
        if(!isEmpty(classroom.getGradeId())){
          params.put("gradeId", classroom.getGradeId());
    }
        if(!isEmpty(classroom.getIsDelete())){
          params.put("isDelete", classroom.getIsDelete());
    }
    //分页查询
    Pager<Classroom> pagers = classroomService.findByMap(params);
    model.addAttribute("pagers", pagers);
    //存储查询条件
    model.addAttribute("obj", classroom);
    return "classroom/classroom";
  }
  /**
   * 跳至添加页面
   * @return
   */
  @RequestMapping(value = "/add.do")
  public String add(Model model,HttpSession session) {
    Integer schoolId = (Integer) session.getAttribute("schoolId");
    School school=new School();
    school.setId(schoolId);
    List<School> schoolList=schoolService.listAllByEntity(school);
    model.addAttribute("schoolList", schoolList);
    return "classroom/add";
  }
  /**
   * 添加执行
   * @return
   */
  @RequestMapping(value = "/exAdd.do")
  public String exAdd(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response) {
    classroom.setIsDelete(0);
    classroom.setStatus(0);
    classroomService.insert(classroom);
    return "redirect:/classroom/findByObj.do";
  }
  /**
   * 跳至修改页面
   * @return
   */
  @RequestMapping(value = "/update.do")
  public String update(Integer id,Model model) {
    Classroom obj = classroomService.load(id);
    model.addAttribute("obj",obj);
    return "classroom/update";
  }
  /**
   * 添加修改
   * @return
   */
  @RequestMapping(value = "/exUpdate.do")
  public String exUpdate(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response) {
    classroomService.update(classroom);
    return "redirect:/classroom/findByObj.do";
  }
  /**
   * 删除通过主键
   * @return
   */
  @RequestMapping(value = "/delete.do")
  public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    //真正删除
    classroomService.deleteById(id);
    //通过参数删除
        //Map<String,Object> params = new HashMap<String,Object>();
    //params.put("id", id);
    //classroomService.deleteBySqId("deleteBySql", params);
    //状态删除
    //Classroom load = classroomService.load(id);
    //load.setIsDelete(1);
    //classroomService.update(load);
    return "redirect:/classroom/findByObj.do";
  }
  // --------------------------------------- 华丽分割线 ------------------------------
  /**
   * 通过id查询 返回list json(通过map)
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/findByGradeId.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String findByGradeId(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response) {
     Map<String, Object> map = getMap();
     map.put("gradeId",classroom.getGradeId());
     List<Classroom> classroomList =classroomService.list("listBySqlId", map);
    //分页查询
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("obj", classroomList);
    return jsonObject.toString();
  }
  /**
   * 分页查询 返回list json(通过对象)
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/findByObj.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String findByObjByEntity(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response) {
    //分页查询
    Pager<Classroom> pagers = classroomService.findByEntity(classroom);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("pagers", pagers);
    jsonObject.put("obj", classroom);
    return jsonObject.toString();
  }
  /**
   * 分页查询 返回list json(通过Map)
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/findByMap.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String findByMapMap(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response) {
    //通过map查询
    Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(classroom.getName())){
          params.put("name", classroom.getName());
    }
        if(!isEmpty(classroom.getGradeId())){
          params.put("gradeId", classroom.getGradeId());
    }
        if(!isEmpty(classroom.getIsDelete())){
          params.put("isDelete", classroom.getIsDelete());
    }
    //分页查询
    Pager<Classroom> pagers = classroomService.findByMap(params);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("pagers", pagers);
    jsonObject.put("obj", classroom);
    return jsonObject.toString();
  }
  /**
   * ajax 添加
   * @param 
   * @return
   */
  @RequestMapping(value = "/exAdd.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String exAddJson(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response) {
    classroomService.insert(classroom);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("message", "添加成功");
    return jsonObject.toString();
  }
  /**
   * ajax 修改
   * @param 
   * @return
   */
  @RequestMapping(value = "/exUpdate.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String exUpdateJson(Classroom classroom, Model model, HttpServletRequest request, HttpServletResponse response) {
    classroomService.update(classroom);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("message", "修改成功");
    return jsonObject.toString();
  }
  /**
   * ajax 删除
   * @return
   */
  @RequestMapping(value = "/delete.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    //真正删除
    classroomService.deleteById(id);
    //通过参数删除
        //Map<String,Object> params = new HashMap<String,Object>();
    //params.put("id", id);
    //classroomService.deleteBySqId("deleteBySql", params);
    //状态删除
    //Classroom load = classroomService.load(id);
    //load.setIsDelete(1);
    //classroomService.update(load);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("message", "删除成功");
    return jsonObject.toString();
  }
  /**
   * 单文件上传
   * @param file
   * @param request
   * @param model
   * @return
   */
    @RequestMapping(value = "/saveFile")  
    public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) {  
        System.out.println("开始");  
        String path = request.getSession().getServletContext().getRealPath("/upload");  
        String fileName = file.getOriginalFilename();  
        System.out.println(path);  
        File targetFile = new File(path, fileName);  
        if(!targetFile.exists()){  
            targetFile.mkdirs();  
        }  
        //保存  
        try {  
            file.transferTo(targetFile);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return "";  
    }  
  /**
   * springMvc多文件上传
   * @param files
   * @param id
   * @return
   */
    @RequestMapping(value = "/saveFiles")
    public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){
    for(int i = 0;i<files.length;i++){
          System.out.println("fileName---------->" + files[i].getOriginalFilename());
      if(!files[i].isEmpty()){
            int pre = (int) System.currentTimeMillis();
        try {
      //拿到输出流,同时重命名上传的文件
       String filePath = request.getRealPath("/upload");
       File f=new File(filePath);
       if(!f.exists()){
        f.mkdirs();
       }
         String fileNmae=new Date().getTime() + files[i].getOriginalFilename();
         File file=new File(filePath+"/"+pre + files[i].getOriginalFilename());
        if(!file.exists()){
          file.createNewFile();
       }
        files[i].transferTo(file);
         } catch (Exception e) {
        e.printStackTrace();
        System.out.println("上传出错");
       }
      }
    }
    return "";
  }
}

4.2 网站内容发布

@Controller
@RequestMapping("/introduction")
public class IntroductionController extends BaseController {
  /**
   * 依赖注入 start dao/service/===
   */
  @Autowired
  private IntroductionService introductionService;
  /**
   * 前台查询网页介绍
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/queryIntroduction.do")
  public String queryIntroduction(Model model, HttpServletRequest request, HttpServletResponse response) {
    List<Introduction> introductionList=introductionService.listAll();
    model.addAttribute("introductionList", introductionList);
    //存储查询条件
    model.addAttribute("introductionList", introductionList);
    return "introduction/uIntroduction";
  }
  /**
   * 分页查询 返回list对象(通过对象)
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/findByObj.do")
  public String findByObj(Introduction introduction, Model model, HttpServletRequest request, HttpServletResponse response) {
    Pager<Introduction> pagers =new Pager<Introduction>();
    if(introduction.getTitle()!=null){
       Map<String, Object> map = getMap();
       map.put("title",introduction.getTitle());
        //模糊查询分页查询
      pagers = introductionService.findByMap(map);
    }else{
    //分页查询
    pagers = introductionService.findByEntity(introduction);
    }
    model.addAttribute("pagers", pagers);
    //存储查询条件
    model.addAttribute("obj", introduction);
    return "introduction/introduction";
  }
  /**
   * 分页查询 返回list对象(通过Map)
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/findByMap.do")
  public String findByMap(Introduction introduction, Model model, HttpServletRequest request, HttpServletResponse response) {
    //通过map查询
    Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(introduction.getTitle())){
          params.put("title", introduction.getTitle());
    }
        if(!isEmpty(introduction.getContent())){
          params.put("content", introduction.getContent());
    }
        if(!isEmpty(introduction.getAddTime())){
          params.put("addTime", introduction.getAddTime());
    }
        if(!isEmpty(introduction.getImageUrl())){
          params.put("imageUrl", introduction.getImageUrl());
    }
    //分页查询
    Pager<Introduction> pagers = introductionService.findByMap(params);
    model.addAttribute("pagers", pagers);
    //存储查询条件
    model.addAttribute("obj", introduction);
    return "introduction/introduction";
  }
  /**
   * 跳至添加页面
   * @return
   */
  @RequestMapping(value = "/add.do")
  public String add() {
    return "introduction/add";
  }
  /**
   * 添加执行
   * @return
   */
  @RequestMapping(value = "/exAdd.do")
  public String exAdd(@RequestParam(value = "file", required = false) MultipartFile file, Introduction introduction,HttpServletRequest request, Model model) {
        System.out.println("开始");  
          String path = request.getSession().getServletContext().getRealPath("/")+"upload/";  
          String fileName = file.getOriginalFilename();  
          System.out.println(path);  
          File targetFile = new File("D:/my/upload", fileName);  
          if(!targetFile.exists()){  
              targetFile.mkdirs();  
          }  
          introduction.setImageUrl("\\upload\\"+fileName);
          //保存  
          try {  
              file.transferTo(targetFile);  
          } catch (Exception e) {  
              e.printStackTrace();  
          }  
    introduction.setAddTime(new Date());
    introductionService.insert(introduction);
    return "redirect:/introduction/findByObj.do";
  }
  /**
   * 跳至修改页面
   * @return
   */
  @RequestMapping(value = "/update.do")
  public String update(Integer id,Model model) {
    Introduction obj = introductionService.load(id);
    model.addAttribute("obj",obj);
    return "introduction/update";
  }
  /**
   * 添加修改
   * @return
   */
  @RequestMapping(value = "/exUpdate.do")
  public String exUpdate(@RequestParam(value = "file", required = false) MultipartFile file, Introduction introduction,HttpServletRequest request, Model model) {
     System.out.println("开始");  
          String path = request.getSession().getServletContext().getRealPath("/")+"upload/";  
          String fileName = file.getOriginalFilename();  
          System.out.println(path);  
          File targetFile = new File("D:/my/upload", fileName);  
          if(!targetFile.exists()){  
              targetFile.mkdirs();  
          }
          if(fileName!=null){
            introduction.setImageUrl("\\upload\\"+fileName);
          }
          //保存  
          try {  
              file.transferTo(targetFile);  
          } catch (Exception e) {  
              e.printStackTrace();  
          }  
    introductionService.update(introduction);
    return "redirect:/introduction/findByObj.do";
  }
  /**
   * 删除通过主键
   * @return
   */
  @RequestMapping(value = "/delete.do")
  public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    //真正删除
    introductionService.deleteById(id);
    //通过参数删除
        //Map<String,Object> params = new HashMap<String,Object>();
    //params.put("id", id);
    //introductionService.deleteBySqId("deleteBySql", params);
    //状态删除
    //Introduction load = introductionService.load(id);
    //load.setIsDelete(1);
    //introductionService.update(load);
    return "redirect:/introduction/findByObj.do";
  }
  // --------------------------------------- 华丽分割线 ------------------------------
  /**
   * 分页查询 返回list json(通过对象)
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/findByObj.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String findByObjByEntity(Introduction introduction, Model model, HttpServletRequest request, HttpServletResponse response) {
    //分页查询
    Pager<Introduction> pagers = introductionService.findByEntity(introduction);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("pagers", pagers);
    jsonObject.put("obj", introduction);
    return jsonObject.toString();
  }
  /**
   * 分页查询 返回list json(通过Map)
   * 
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/findByMap.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String findByMapMap(Introduction introduction, Model model, HttpServletRequest request, HttpServletResponse response) {
    //通过map查询
    Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(introduction.getTitle())){
          params.put("title", introduction.getTitle());
    }
        if(!isEmpty(introduction.getContent())){
          params.put("content", introduction.getContent());
    }
        if(!isEmpty(introduction.getAddTime())){
          params.put("addTime", introduction.getAddTime());
    }
        if(!isEmpty(introduction.getImageUrl())){
          params.put("imageUrl", introduction.getImageUrl());
    }
    //分页查询
    Pager<Introduction> pagers = introductionService.findByMap(params);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("pagers", pagers);
    jsonObject.put("obj", introduction);
    return jsonObject.toString();
  }
  /**
   * ajax 添加
   * @param 
   * @return
   */
  @RequestMapping(value = "/exAdd.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String exAddJson(Introduction introduction, Model model, HttpServletRequest request, HttpServletResponse response) {
    introductionService.insert(introduction);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("message", "添加成功");
    return jsonObject.toString();
  }
  /**
   * ajax 修改
   * @param 
   * @return
   */
  @RequestMapping(value = "/exUpdate.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String exUpdateJson(Introduction introduction, Model model, HttpServletRequest request, HttpServletResponse response) {
    introductionService.update(introduction);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("message", "修改成功");
    return jsonObject.toString();
  }
  /**
   * ajax 删除
   * @return
   */
  @RequestMapping(value = "/delete.json", produces=MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  @ResponseBody
  public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    //真正删除
    introductionService.deleteById(id);
    //通过参数删除
        //Map<String,Object> params = new HashMap<String,Object>();
    //params.put("id", id);
    //introductionService.deleteBySqId("deleteBySql", params);
    //状态删除
    //Introduction load = introductionService.load(id);
    //load.setIsDelete(1);
    //introductionService.update(load);
    JSONObject jsonObject = JsonUtil2.getJsonObject();
    jsonObject.put("message", "删除成功");
    return jsonObject.toString();
  }
  /**
   * 单文件上传
   * @param file
   * @param request
   * @param model
   * @return
   */
    @RequestMapping(value = "/saveFile")  
    public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) {  
        System.out.println("开始");  
        String path = request.getSession().getServletContext().getRealPath("/upload");  
        String fileName = file.getOriginalFilename();  
        System.out.println(path);  
        File targetFile = new File(path, fileName);  
        if(!targetFile.exists()){  
            targetFile.mkdirs();  
        }  
        //保存  
        try {  
            file.transferTo(targetFile);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return "";  
    }  
  /**
   * springMvc多文件上传
   * @param files
   * @param id
   * @return
   */
    @RequestMapping(value = "/saveFiles")
    public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){
    for(int i = 0;i<files.length;i++){
          System.out.println("fileName---------->" + files[i].getOriginalFilename());
      if(!files[i].isEmpty()){
            int pre = (int) System.currentTimeMillis();
        try {
      //拿到输出流,同时重命名上传的文件
       String filePath = request.getRealPath("/upload");
       File f=new File(filePath);
       if(!f.exists()){
        f.mkdirs();
       }
         String fileNmae=new Date().getTime() + files[i].getOriginalFilename();
         File file=new File(filePath+"/"+pre + files[i].getOriginalFilename());
        if(!file.exists()){
          file.createNewFile();
       }
        files[i].transferTo(file);
         } catch (Exception e) {
        e.printStackTrace();
        System.out.println("上传出错");
       }
      }
    }
    return "";
  }
}

五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

相关文章
|
5天前
|
Java
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
23 3
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
|
5天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
17 2
|
5天前
|
Java 关系型数据库 MySQL
【毕业设计】基于SSM++jsp的的购物商城系统
【毕业设计】基于SSM++jsp的的购物商城系统
20 0
|
5天前
|
存储 Java 关系型数据库
【毕业设计】基于SSM++jsp的班主任助理系统
【毕业设计】基于SSM++jsp的班主任助理系统
11 0
|
5天前
|
Java
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
13 2
|
5天前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
22 0
|
5天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
19 5
|
5天前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
16 1
|
5天前
|
开发框架 缓存 Java
JSP 教程 之 Eclipse JSP/Servlet 环境搭建 1
本教程指导如何使用Eclipse搭建JSP/Servlet开发环境。需下载Eclipse J2EE和Tomcat,将Tomcat解压至无中文和空格的D盘目录。启动Tomcat后,服务器运行,通过浏览器访问`http://localhost:8080/`。在Tomcat的webapps\ROOT目录创建test.jsp文件,输入代码并访问`http://localhost:8080/test.jsp`以验证环境配置成功。
8 1
|
5天前
|
Java
校园帮【JSP+Servlet+JavaBean】(Java课设)
校园帮【JSP+Servlet+JavaBean】(Java课设)
9 1