——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明







基于javaweb的SSM学生成绩管理系统(java+spring+hibernate+mysql+jsp)
系统管理员:
admin 123456
老师:
t1 123456
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| @Controller @RequestMapping("/userController") public class UserController extends BaseController{
private static final Logger logger = Logger.getLogger(UserController.class); @Autowired private SystemService systemService;
@RequestMapping(params="goUser") public ModelAndView goUser(HttpServletRequest request){ return new ModelAndView("system/user"); } @RequestMapping(params="checkRemote") @ResponseBody public void checkRemote(HttpServletRequest request, HttpServletResponse response, String signcode) throws Exception { UserEntity user = this.systemService.findUniqueByProperty(UserEntity.class, "username", signcode); String flag = "true"; if(user != null){ flag = "false"; } response.setCharacterEncoding("utf-8"); response.getWriter().write(flag); } @RequestMapping(params="save") @ResponseBody public AjaxJson save(HttpServletRequest request, HttpServletResponse response, UserEntity user, String roleid) throws Exception { AjaxJson j = new AjaxJson(); j.setMsg("保存成功!"); j.setSuccess(true); try{ Md5Hash md5Hash = new Md5Hash(user.getPassword()); user.setPassword(md5Hash.toHex()); user.setRoles(getRoleList(roleid));
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| List<RoleEntity> roleList = user.getRoles(); for(RoleEntity re : roleList){ List<ResourceEntity> tempRes = re.getResource(); for(ResourceEntity res : tempRes){ if(!resourceList.contains(res)){ resourceList.add(res); } } } Client client = new Client(); client.setIp(ResourceUtil.getIpAddr(req)); client.setLogindatetime(new Date()); client.setUser(user); client.setMenuList(resourceList); ClientManager.getInstance().addClinet(session.getId(), client); if(user != null && user.getId() != null){ if(user.getStatus() == 2){ j.setSuccess(false); j.setMsg("该用户被禁用,请联系管理员!"); }else{ j.setSuccess(true); j.setMsg("登陆成功!"); } }else{ j.setSuccess(false); j.setMsg("用户名或密码错误!"); } } return j; }
@RequestMapping(params="getTreeMenu") @ResponseBody public String getTreeMenu(HttpServletRequest request){ Client client = ResourceUtil.getClient(); List<ResourceEntity> resourceList = new ArrayList<ResourceEntity>(); if(client == null || client.getUser() == null){ return "system/login"; }else{ resourceList = client.getMenuList(); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| this.scoreService.saveBatch(scoreList); } } catch (Exception e) { e.printStackTrace(); j.setMsg("导入失败!"); j.setSuccess(false); } return j;
}
@RequestMapping(params = "exportExcel") public void exportExcel(HttpServletRequest request, HttpServletResponse response,String teachername,String coursename, String term,String name) throws Exception { DetachedCriteria condition = DetachedCriteria.forClass(ScoreEntity.class); List<ScoreEntity> scoreList = this.scoreService.findData(condition, name, teachername, coursename, term); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("sheet1"); HSSFRow row = sheet.createRow((int) 0); HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); for (int i = 0; i < excelHeader.length; i++) { HSSFCell cell = row.createCell(i); cell.setCellValue(excelHeader[i]); cell.setCellStyle(style); sheet.autoSizeColumn(i); } for (int i = 0; i < scoreList.size(); i++) { row = sheet.createRow(i + 1); ScoreEntity scoreEntity = scoreList.get(i); row.createCell(0).setCellValue(scoreEntity.getStudentEntity().getStudentnum()); row.createCell(1).setCellValue(scoreEntity.getCoursename()); row.createCell(2).setCellValue(scoreEntity.getScore().toString()); row.createCell(3).setCellValue(scoreEntity.getTerm()); row.createCell(4).setCellValue(scoreEntity.getClassname()); row.createCell(5).setCellValue(scoreEntity.getTeacherEntity().getTeachernum()); row.createCell(6).setCellValue(scoreEntity.getTeacherEntity().getTeachername()); row.createCell(7).setCellValue(scoreEntity.getStudentEntity().getName()); } response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-disposition", "attachment;filename=studentScore.xls"); OutputStream ouputStream = response.getOutputStream(); try{ wb.write(ouputStream); ouputStream.flush(); ouputStream.close(); }catch(Exception e){ e.printStackTrace();
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| List<ResourceEntity> resource = new ArrayList<ResourceEntity>(); for(ResourceEntity re:resourceList){ if(resourceList.size()<=0){ break; } if("1".equals(re.getId())){ resource.add(re); break; } } return JSONObject.valueToString(resourceToTreeNode(resource,resourceList)); }
private List<TreeNode> resourceToTreeNode(List<ResourceEntity> resource, List<ResourceEntity> userResource) { if (resource != null && !resource.isEmpty() && resource.get(0).getResourceType() == ResourceEntity.TYPE_MENU) { List<TreeNode> ch = new ArrayList<TreeNode>(); for (ResourceEntity rr : resource) { TreeNode node = new TreeNode(); if(userResource.contains(rr)){ if(rr.getHref()==null){ node.setId(rr.getId()); }else{ node.setId(rr.getId()); } node.setId(rr.getId()); node.setState("open"); node.setText(rr.getName()); Map<String, Object> _temp = new HashMap<String, Object>(); _temp.put("href", rr.getHref()); node.setAttributes(_temp); ch.add(node); } node.setChildren(resourceToTreeNode(rr.getResources(),userResource)); }
return ch; } return Collections.emptyList(); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| ModelAndView mav = new ModelAndView("system/main"); HttpSession session = ContextHolderUtils.getSession(); Client client = ClientManager.getInstance().getClient(session.getId()); req.setAttribute("username", client.getUser().getUsername()); return mav; }
@RequestMapping(params="doCheck") @ResponseBody public AjaxJson doCheck(HttpServletRequest req,String username, String password, String captcha){ HttpSession session = ContextHolderUtils.getSession(); AjaxJson j = new AjaxJson(); if(!captcha.equalsIgnoreCase(String.valueOf(session.getAttribute(SystemConstant.KEY_CAPTCHA)))){ j.setSuccess(false); j.setMsg("验证码错误!"); }else{ UserEntity user = new UserEntity(); user.setUsername(username); user.setPassword(password); user = this.systemService.getUserByNameAndPassword(user); if(user == null){ j.setSuccess(false); j.setMsg("用户名或密码错误!"); return j; } List<ResourceEntity> resourceList = new ArrayList<ResourceEntity>(); List<RoleEntity> roleList = user.getRoles(); for(RoleEntity re : roleList){ List<ResourceEntity> tempRes = re.getResource(); for(ResourceEntity res : tempRes){ if(!resourceList.contains(res)){ resourceList.add(res); } } } Client client = new Client(); client.setIp(ResourceUtil.getIpAddr(req)); client.setLogindatetime(new Date()); client.setUser(user);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| ImageIO.write(image, "JPEG", resp.getOutputStream());
} catch (Exception e) { e.printStackTrace(); }
}
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }
public static void main(String[] args) { Md5Hash md5Hash = new Md5Hash("123456"); String password = md5Hash.toHex(); System.out.println(password); } }
@Controller public class BaseController {
@InitBinder public void initBinder(ServletRequestDataBinder binder) { binder.registerCustomEditor(Date.class, new DateConvertEditor()); }
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=382123240509201el
https://javayms.pages.dev?id=382123240509201el