最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
最新整理电子书
@Resource
ClassesService classesService;
@Resource
StudentService studentService;
/*
- 列表与分页Action
*/
@RequestMapping(“/list”)
//声明一个list方法,返回一个String类型
public String list(Model model,@RequestParam(required=false,defaultValue=“1”) int pageNO){
int size=3;
model.addAttribute(“size”,size);
model.addAttribute(“pageNO”,pageNO);
model.addAttribute(“count”,classesService.getClassesCount());
model.addAttribute(“clalist”, classesService.getClassPager(pageNO, size));
return “class/list”;
}
/*
- 删除单个对象Action
*/
@RequestMapping(“/delete/{id}”)
public String delete(Model model,@PathVariable int id,@RequestParam(required=false,defaultValue=“1”) int pageNO,RedirectAttributes redirectAttributes){
if(classesService.delete(id)>0)
{
//redirectAttributes:重定向之后还能带参数跳转
//隐藏了参数,链接地址上不直接暴露,但是能且只能在重定向的 “页面” 获取message参数值。其原理就是放到session中,session在跳到页面后马上移除对象。
redirectAttributes.addFlashAttribute(“message”, “删除成功!”);
}else{
redirectAttributes.addFlashAttribute(“message”, “删除失败!”);
}
return “redirect:/cla/list?pageNO=”+pageNO;
}
/*
- 删除多个对象Action
*/
@RequestMapping(“/deletes”)
public String deletes(Model model,@RequestParam int[] id,@RequestParam(required=false,defaultValue=“1”) int pageNO,RedirectAttributes redirectAttributes){
//执行删除
System.out.println(“批量删除”+id.toString());
int rows=classesService.deletes(id);
if(rows>0)
{
redirectAttributes.addFlashAttribute(“message”, “删除”+rows+“行记录成功!”);
}else{
redirectAttributes.addFlashAttribute(“message”, “删除失败!”);
}
return “redirect:/cla/list?pageNO=”+pageNO;
}
/*
- 添加学生
*/
@RequestMapping(“/add”)
public String add(Model model){
model.addAttribute(“entity”, new Classes());
return “class/add”;
}
/*
- 添加保存
*/
@RequestMapping(“/addSave”)
//@ModelAttribute:绑定请求参数到指定对象
public String addSave(Model model,@ModelAttribute(“entity”) @Valid Classes entity,BindingResult bindingResult){
//如果模型中存在错误
if(bindingResult.hasErrors()){
model.addAttribute(“entity”, entity);
return “class/add”;
}else{
classesService.insert(entity);
return “redirect:/cla/list”;
}
}
/*
- 编辑
*/
@RequestMapping(“/edit/{id}”)
//@PathVariable可以用来映射URL中的占位符到目标方法的参数中
public String edit(Model model,@PathVariable int id){
model.addAttribute(“entity”, classesService.getCLassId(id));
return “class/edit”;
}
/*
- 编辑保存
*/
@RequestMapping(“/editSave”)
//@Valid的参数后必须紧挨着一个BindingResult 参数
//Spring验证的错误返回
public String editSave(Model model,@ModelAttribute(“entity”) @Valid Classes entity,BindingResult bindingResult){
//如果模型中存在错误
if(bindingResult.hasErrors()){
model.addAttribute(“entity”, entity);
return “/class/edit”;
}else{
classesService.update(entity);
return “redirect:list”;
}
}
@RequestMapping(“search/{id}”)
public String search(@PathVariable int id,Model model) {
List slist=studentService.getStuByCid(id);
model.addAttribute(“slist”, slist);
return “class/stulist”;
}
@RequestMapping(“search1/{id}”)
public String search1(@PathVariable int id,Model model) {
/*List slist=studentService.getStuByCid(id);
model.addAttribute(“slist”, slist);*/
Classes classes=classesService.getStuByid(id);
model.addAttribute(“classes”, classes);
return “class/stulist1”;
}
}
CourseController
package com.offcn.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import org.springframework.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.offcn.mapper.CtcMapper;
import com.offcn.pojo.Classes;
import com.offcn.pojo.Course;
import com.offcn.pojo.CtcKey;
import com.offcn.pojo.Teacher;
import com.offcn.pojo.User;
import com.offcn.service.ClassesService;
import com.offcn.service.CourseService;
import com.offcn.service.TeacherService;
import java.util.ArrayList;
import java.util.List;
/**
-
Company: offcn
-
@author zgf
-
@date 2017年5月22日
-
@version 1.0
*/
@Controller
@RequestMapping(“/cou”)
public class CourseController {
@Resource
CourseService courseService;
@Resource
TeacherService teacherService;
@Resource
ClassesService classesService;
/* @Resource
CtcService ctcService;*/
/* @Resource
GradeService gradeService;*/
/*
- 列表与分页Action
*/
@RequestMapping(“/list”)
public String list(Model model,@RequestParam(required=false,defaultValue=“1”) int pageNO){
int size=3;
model.addAttribute(“size”,size);
model.addAttribute(“pageNO”,pageNO);
model.addAttribute(“count”,courseService.getCourseCount());
model.addAttribute(“coulist”, courseService.getCoursePager(pageNO, size));
return “course/list”;
}
/*
- 删除单个对象Action
*/
@RequestMapping(“/delete/{id}”)
public String delete(Model model,@PathVariable int id,@RequestParam(required=false,defaultValue=“1”) int pageNO,RedirectAttributes redirectAttributes){
if(courseService.delete(id)>0)
{
redirectAttributes.addFlashAttribute(“message”, “删除成功!”);
}else{
redirectAttributes.addFlashAttribute(“message”, “删除成功!”);
}
return “redirect:/cou/list?pageNO=”+pageNO;
}
/*
- 删除多个对象Action
*/
@RequestMapping(“/deletes”)
public String deletes(Model model,@RequestParam int[] id,@RequestParam(required=false,defaultValue=“1”) int pageNO,RedirectAttributes redirectAttributes){
//执行删除
System.out.println(“批量删除”+id.toString());
int rows=courseService.deletes(id);
if(rows>0)
{
redirectAttributes.addFlashAttribute(“message”, “删除”+rows+“行记录成功!”);
}else{
redirectAttributes.addFlashAttribute(“message”, “删除失败!”);
}
return “redirect:/cou/list?pageNO=”+pageNO;
}
/*
- 添加
*/
@RequestMapping(“/add”)
public String add(Model model){
model.addAttribute(“entity”, new Course());
return “course/add”;
}
/*
- 添加保存
*/
@RequestMapping(“/addSave”)
public String addSave(Model model,@ModelAttribute(“entity”) @Valid Course entity,BindingResult bindingResult){
//如果模型中存在错误
if(bindingResult.hasErrors()){
model.addAttribute(“entity”, entity);
return “course/add”;
}else{
courseService.insert(entity);
return “redirect:/cou/list”;
}
}
/*
- 编辑
*/
@RequestMapping(“/edit/{id}”)
public String edit(Model model,@PathVariable int id){
model.addAttribute(“entity”, courseService.getCourseId(id));
return “course/edit”;
}
/*
- 编辑保存
*/
@RequestMapping(“/editSave”)
public String editSave(Model model,@ModelAttribute(“entity”) @Valid Course entity,BindingResult bindingResult){
//如果模型中存在错误
if(bindingResult.hasErrors()){
model.addAttribute(“entity”, entity);
return “/course/edit”;
}else{
courseService.update(entity);
return “redirect:list”;
}
}
//排课
@RequestMapping(“/setTeacher/{id}”)
public String setTeacher(Model model,@PathVariable int id){
Course course=courseService.getCourseId(id);
model.addAttribute(“entity”,course);
List tlist=teacherService.getAllTeacher();
List clist=classesService.getAllClasses();
model.addAttribute(“tlist”, tlist);
model.addAttribute(“clist”, clist);
return “course/setct”;
}
@RequestMapping(“editSavect”)
public String editSavect(Model model,@ModelAttribute(“entity”) Course entity,RedirectAttributes redirectAttributes){
//Course course=entity;
String classid=entity.getClasses();
String[] classids=classid.split(“,”);
List ctclist=new ArrayList();
for(int i=0;i<classids.length;i++){
CtcKey c=new CtcKey();
c.setCouid(entity.getId());
c.setClaid(Integer.parseInt(classids[i]));
c.setTid(entity.getTeacher().getId());
ctclist.add©;
}
try{
courseService.insertBatch(ctclist);
}catch(Exception e){
redirectAttributes.addFlashAttribute(“msg”, “排课存在冲突,请核对后重新选!”);
}
return “redirect:/cou/list”;
}
@RequestMapping(“toChangePassword”)
public String toChangePassword(){
return “course/changePassword”;
}
@ResponseBody
@RequestMapping(“changePassword”)
public int changePassword(String password,String oldPass,int id,HttpServletRequest re){
HttpSession session = re.getSession();
User user = (User)session.getAttribute(“user”);
if(user.getPassword().equals(oldPass)) {
courseService.changePassword(password,id,user);
return 1;
}else
return 2;
}
}
StudentController
package com.offcn.controller;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.offcn.pojo.Classes;
import com.offcn.pojo.CourseExt;
import com.offcn.pojo.Sc;
import com.offcn.pojo.Student;
import com.offcn.service.ClassesService;
import com.offcn.service.StudentService;
@Controller
@RequestMapping(“/stu”)
public class StudentController {
@Resource
StudentService studentService;
@Resource
ClassesService classesService;
@RequestMapping(“/list”)
public String getlist(@RequestParam(required=false,defaultValue=“1”) int pageNO,Model model) {
int size=3;
List slist=studentService.getStudentPager(pageNO, size);
model.addAttribute(“pageNO”, pageNO);
model.addAttribute(“size”, size);
model.addAttribute(“count”, studentService.getCount());
model.addAttribute(“slist”, slist);
return “student/list”;
}
@RequestMapping(“/findByName”)
public String findByName(String name,Model model) {
int size=10;
List slist=studentService.findByName(name);
model.addAttribute(“pageNO”, 1);
model.addAttribute(“size”, size);
model.addAttribute(“count”, studentService.getCount());
model.addAttribute(“slist”, slist);
model.addAttribute(“name”, name);
return “student/list”;
}
@RequestMapping(“/findByName2”)
public String findByName2(String id,Model model) {
int size=10;
List slist = new ArrayList<>();
if(id!=“”&&id!=null) {
slist=studentService.findByName2(Integer.parseInt(id));
}
model.addAttribute(“pageNO”, 1);
model.addAttribute(“size”, size);
model.addAttribute(“count”, studentService.getCount());
model.addAttribute(“slist”, slist);
model.addAttribute(“id”, id);
return “student/list”;
}
@RequestMapping(“/findByName3”)
public String findByName3(String address,Model model) {
int size=10;
List slist=studentService.findByName3(address);
model.addAttribute(“pageNO”, 1);
model.addAttribute(“size”, size);
model.addAttribute(“count”, studentService.getCount());
model.addAttribute(“slist”, slist);
model.addAttribute(“address”, address);
return “student/list”;
}
//重定向一定要写绝对路径eg:redirect:/stu/list
@RequestMapping(“/delete/{id}”)
public String delete(@PathVariable int id,Model model) {
studentService.deleteByPrimaryKey(id);
return “redirect:/stu/list”;
}
@RequestMapping(“/deletes”)
public String deletes(@RequestParam(“id”) int[] ids,Model model,RedirectAttributes redirectAttributes) {
int rows=0;
rows=studentService.multiDelete(ids);
if(rows>0){
redirectAttributes.addFlashAttribute(“message”, “成功删除!”);
}else{
redirectAttributes.addFlashAttribute(“message”, “删除shibai!”);
}
return “redirect:/stu/list”;
}
//
@RequestMapping(“/add”)
public String add(Model model) {
List clist=classesService.getAllClasses();
model.addAttribute(“clist”, clist);
model.addAttribute(“entity”, new Student());
return “student/add”;
}
//mm `
@RequestMapping(“/addSave”)
public String addSave(Model model,@ModelAttribute(“entity”) @Valid Student entity,BindingResult bindingResult,RedirectAttributes redirectAttributes) {
if(bindingResult.hasErrors()){
model.addAttribute(“entity”, entity);
List clist=classesService.getAllClasses();
model.addAttribute(“clist”, clist);
//redirectAttributes.addFlashAttribute(“entity”, arg1)
return “student/add”;
//return “redirect:/add”;
}else{
List clist=classesService.getAllClasses();
model.addAttribute(“clist”, clist);
model.addAttribute(“entity”, new Student());
studentService.insert(entity);
return “redirect:/stu/list”;
}
}
//edit/${entity.id}
@RequestMapping(“/edit/{id}”)
public String add(Model model,@PathVariable int id) {
List clist=classesService.getAllClasses();
model.addAttribute(“clist”, clist);
model.addAttribute(“entity”, studentService.selectByPrimaryKey(id));
return “student/edit”;
}
//
@RequestMapping(“/editSave”)
public String editSave(Model model,Student student) {
studentService.updateByPrimaryKey(student);
return “redirect:/stu/list”;
}
@RequestMapping(“/getXuXiu”)
public String getXuXiu(Model model,HttpServletRequest req){
HttpSession session=req.getSession();
Student student=(Student) session.getAttribute(“user”);
List clist= studentService.getXuxiu(student.getClassid());
model.addAttribute(“colist”, clist);
return “student/colist”;
}
@RequestMapping(value=“/semycou”,produces=“text/html;charset=utf8”)
@ResponseBody
public String semycou(@RequestParam(“cou”) String[] ct,HttpServletRequest req){
HttpSession session=req.getSession();
Student student=(Student) session.getAttribute(“user”);
List sclist=new ArrayList();
for(int i=0;i<ct.length;i++){
Sc sc=new Sc();
String cteveryone=ct[i];
String[] ctarray=cteveryone.split(“_”);
sc.setCid(Integer.parseInt(ctarray[0]));
sc.setTid(Integer.parseInt(ctarray[1]));
sc.setSid(student.getId());
sclist.add(sc);
}
String msg=“”;
try{
studentService.inserBatch(sclist);
msg=“选课成功!”;
}catch(Exception e){
msg=“选课可能有重复,请审核后重试!”;
}
return msg;
}
@RequestMapping(“/getStuCourse”)
public String getStuCourse(Model model,HttpServletRequest req){
HttpSession session=req.getSession();
Student student=(Student) session.getAttribute(“user”);
List ctlist=studentService.getMycourses(student.getClassid(), student.getId());
model.addAttribute(“ctlist”, ctlist);
return “student/cslist”;
}
}
TeacherController
package com.offcn.controller;
import java.io.File;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.offcn.pojo.Grade;
import com.offcn.pojo.StudentView;
import com.offcn.pojo.Teacher;
import com.offcn.service.TeacherService;
/**
-
Company: offcn
-
@author zgf
-
@date 2017年5月22日
-
@version 1.0
*/
@Controller
@RequestMapping(“/tea”)
public class TeacherController {
@Resource
TeacherService teacherService;
/*
- 学生列表与分页Action
*/
@RequestMapping(“/list”)
public String list(Model model,@RequestParam(required=false,defaultValue=“1”) int pageNO){
int size=3;
model.addAttribute(“size”,size);
model.addAttribute(“pageNO”,pageNO);
model.addAttribute(“count”,teacherService.getTeacherCount());
model.addAttribute(“tealist”, teacherService.getTeacherPager(pageNO, size));
return “teacher/list”;
}
/*
- 删除单个学生对象Action
*/
@RequestMapping(“/delete/{id}”)
public String delete(Model model,@PathVariable int id,@RequestParam(required=false,defaultValue=“1”) int pageNO,RedirectAttributes redirectAttributes){
if(teacherService.delete(id)>0)
{
最后,附一张自己面试前准备的脑图:
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
- Spring全家桶(实战系列)
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!
model.addAttribute(“pageNO”,pageNO);
model.addAttribute(“count”,teacherService.getTeacherCount());
model.addAttribute(“tealist”, teacherService.getTeacherPager(pageNO, size));
return “teacher/list”;
}
/*
- 删除单个学生对象Action
*/
@RequestMapping(“/delete/{id}”)
public String delete(Model model,@PathVariable int id,@RequestParam(required=false,defaultValue=“1”) int pageNO,RedirectAttributes redirectAttributes){
if(teacherService.delete(id)>0)
{
最后,附一张自己面试前准备的脑图:
[外链图片转存中…(img-rdb9C7zP-1715137516532)]
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
[外链图片转存中…(img-IeRmUpAw-1715137516533)]
- Spring全家桶(实战系列)
[外链图片转存中…(img-PPjnw3qU-1715137516533)]
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
[外链图片转存中…(img-vvr3FSlf-1715137516534)]
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!