Java项目:高校学生社团活动管理系统(java+springboot+freemark+jpa+mysql)
源码获取:博客首页 "资源" 里下载!
前台:
1、社团信息浏览搜索、社团活动风采、新闻信息浏览搜索。
2、学生注册登录。
3、登录后可自己申请创建社团,也可申请加入其他社团活动。
4、管理自己社团的申请人员。
5个人信息修改及留言等。
后台:
后台管理员除了基本的系统管理功能(脚手架里的功能,这里不赘述)外,还有社团审核管理、活动新闻管理、学生管理、留言管理、活动申请审核、活动经费管理等等。
系统管理控制层:
@RequestMapping("/system")
@Controller
public class SystemController {@Autowiredprivate SiteConfig siteConfig;@Autowiredprivate OperaterLogService operaterLogService;@Autowiredprivate UserService userService;private Logger log= LoggerFactory.getLogger(SiteConfig.class);@Autowiredprivate DatabaseBakService databaseBakService;@Autowiredprivate SmsService smsService;@Autowiredprivate RedisTemplate<String,String> redisTemplate;@Autowiredprivate AssociationService associationService;@Autowiredprivate ActivitiesService activitiesService;@Autowiredprivate StyleService styleService;@Autowiredprivate OrderAuthService orderAuthService;@Autowiredprivate StudentService studentService;/*** 登录页面* @param model* @return*/@RequestMapping(value = "/login",method = RequestMethod.GET)public String index(Model model){model.addAttribute("siteName",siteConfig.getSiteName());model.addAttribute("siteUrl",siteConfig.getSiteUrl());return "admin/system/login";}//登录成功后主页@RequestMapping(value = "/index")public String indext(Model model){model.addAttribute("operatorLogs",operaterLogService.findLastLog(10));model.addAttribute("userTotal",userService.total());model.addAttribute("logTotal",operaterLogService.total());model.addAttribute("dataTotal",databaseBakService.total());model.addAttribute("onlineUserTotal", HttpSessionS.onlineUserCount);model.addAttribute("associationTotal",associationService.count(Association.TEAM_AUDIT_SUCCESS));model.addAttribute("activitesTotal",activitiesService.count(Activities.ACTIVITIES_AUDIT_SUCCESS));model.addAttribute("styleTotal",styleService.count(Style.STYLE_AUDIT_SUCCESS));model.addAttribute("studentTotal",studentService.count());return "admin/system/index";}@ResponseBody@RequestMapping(value = "/login",method = RequestMethod.POST)public Result<Boolean> login(HttpServletRequest request,User user, String cpacha){Map<String,String>ret=new HashMap<String,String>();if(user==null) {return Result.error(CodeMsg.DATA_ERROR);}//用统一验证实体方法验证是否合法CodeMsg validate = ValidateEntityUtil.validate(user);if(validate.getCode()!=CodeMsg.SUCCESS.getCode()){return Result.error(validate);}//表示实体信息合法,开始验证验证码是否为空、if(StringUtils.isEmpty(cpacha)){return Result.error(CodeMsg.CPACHA_EMPTY);}//说明验证码不为空,从session里获取验证码Object attribute = request.getSession().getAttribute("admin_login");if(attribute==null){return Result.error(CodeMsg.SESSION_EXPIRED);}//表示session未失效,进一步判断用户填写的验证码是否正确if(!cpacha.equalsIgnoreCase(attribute.toString())){return Result.error(CodeMsg.CPACHA_ERROR);}//表示验证码正确,开始查询数据库,检验密码是否正确User byUsername = userService.findByUsername(user.getUsername());if(byUsername==null){return Result.error(CodeMsg.ADMIN_USERNAME_NO_EXIST);}//表示用户存在 进一步对比密码是否正确if(!byUsername.getPassword().equals(user.getPassword())){return Result.error(CodeMsg.ADMIN_PASSWORD_NO_ERROR);}//表示密码正确,将登录信息放入session中 并判断状态是否可用if(byUsername.getStatus()!=byUsername.ADMIN_USER_STATUS_ENABLE){return Result.error(CodeMsg.ADMIN_USER_STATUS_ERROR);}//检查用户是否有角色 状态是否被冻结if(byUsername.getRole()==null||byUsername.getRole().getStatus()!= Role.ADMIN_ROLE_STATUS_ENABLE){return Result.error(CodeMsg.ADMIN_USER_ROLE_STATUS_ERROR);}//检查用户有哪些权限if(byUsername.getRole().getAuthorities()==null ||byUsername.getRole().getAuthorities().size()==0){return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);}//检查一切符合 可以登录request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY,byUsername);//销毁session中的验证码request.getSession().setAttribute("admin_login",null);//将登录日志写入日志库OperaterLog operaterLog=new OperaterLog();operaterLog.setOperator(user.getUsername());operaterLog.setContent("用户["+user.getUsername()+"]与["+ StringUtil.getFormatterDate(new Date(),"yyyy-MM-dd HH:mm:ss")+"]登录系统");operaterLogService.save(operaterLog);log.info("用户成功登录,user="+byUsername);return Result.success(true);}/*** 注销登录* @return*/@RequestMapping(value = "/logout")public String logout(){User loginedUser = SessionUtil.getLoginedUser();if(loginedUser!=null){SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY,"");}return "redirect:login";}/*** 无权限提示页面* @return*/@RequestMapping(value = "/no_right")public String noRight(){return "admin/system/no_right";}/*** 修改用户个人信息* @return*/@RequestMapping(value = "/update_userInfo",method = RequestMethod.GET)public String updateUserInfo(){return "admin/system/update_userinfo";}/*** 修改信息保存* @param user* @return*/@RequestMapping(value = "/update_userInfo",method = RequestMethod.POST)public String updateUserInfo(User user){User loginedUser = SessionUtil.getLoginedUser();loginedUser.setHeadPic(user.getHeadPic());loginedUser.setEmail(user.getEmail());loginedUser.setMobile(user.getMobile());//首先保存到数据库userService.save(loginedUser);//更新session里的值SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY,loginedUser);return "redirect:update_userInfo";}@RequestMapping(value = "/update_pwd",method = RequestMethod.GET)public String updatePwd(){return "admin/system/update_pwd";}/*** 修改密码表单提交* @param oldPwd* @param newPwd* @return*/@ResponseBody@RequestMapping(value = "/update_pwd",method = RequestMethod.POST)public Result<Boolean> updatePwd(@RequestParam(name = "oldPwd",required = true) String oldPwd,@RequestParam(name = "newPwd",required = true)String newPwd){User loginedUser = SessionUtil.getLoginedUser();if(!loginedUser.getPassword().equals(oldPwd)){return Result.error(CodeMsg.ADMIN_USER_PASSWORD_OLD_ERROR);}if(StringUtils.isEmpty(newPwd)){return Result.error(CodeMsg.ADMIN_USER_PASSWORD_NEW_ERROR);}//设置新密码loginedUser.setPassword(newPwd);//更新数据库userService.save(loginedUser);//更新session//更新session里的值SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY,loginedUser);return Result.success(true);}/*** 日志管理页面* @param model* @param operaterLog* @param pageBean* @return*/@RequestMapping(value = "/operator_log_list")public String operatorLogList(Model model,OperaterLog operaterLog, PageBean<OperaterLog> pageBean){model.addAttribute("pageBean",operaterLogService.findList(operaterLog,pageBean));model.addAttribute("operator",operaterLog.getOperator());model.addAttribute("title","日志列表");return "admin/system/operator_log_list";}/*** 删除操作日志,可删除多个* @param ids* @return*/@RequestMapping(value = "/delete_operator_log",method = RequestMethod.POST)@ResponseBodypublic Result<Boolean> delete(String ids){if(!StringUtils.isEmpty(ids)){String[] splitIds = ids.split(",");for(String id:splitIds){operaterLogService.delete(Long.valueOf(id));}}return Result.success(true);}/*** 清空整个日志* @return*/@RequestMapping(value ="/delete_all_log",method = RequestMethod.POST)@ResponseBodypublic Result<Boolean> deleteAll(){operaterLogService.deleteAll();return Result.success(true);}@ResponseBody@RequestMapping(value = "/send",method = RequestMethod.POST)public Result<Boolean> code(@RequestParam(name ="phoneName")String phone){//调用方法String code = redisTemplate.opsForValue().get(phone);if(!StringUtils.isEmpty(code)){return Result.error(CodeMsg.ADMIN_PHONE_SMS_EXIST);}//生成验证码并存储到redis中code = UUID.randomUUID().toString().substring(0, 4);HashMap<String, Object> param = new HashMap<>();param.put("code",code);boolean isSend = smsService.send(phone, "", param);if(isSend){redisTemplate.opsForValue().set(phone,code,5, TimeUnit.SECONDS);return Result.success(true);}else {return Result.error(CodeMsg.ADMIN_PHONE_SMS_ERROR);}}}
后台角色管理控制器:
/*** 后台角色管理控制器*/@RequestMapping("/admin/role")
@Controller
public class RoleController {@Autowiredprivate MenuService menuService;private Logger log= LoggerFactory.getLogger(RoleController.class);@Autowiredprivate OperaterLogService operaterLogService;@Autowiredprivate RoleService roleService;/*** 分页搜索角色列表* @param model* @param role* @param pageBean* @return*/@RequestMapping(value = "/list")public String list(Model model, Role role, PageBean<Role> pageBean){model.addAttribute("title","角色列表");model.addAttribute("name",role.getName());model.addAttribute("pageBean",roleService.findByName(role,pageBean));return "admin/role/list";}/*** 角色添加页面* @param model* @return*/@RequestMapping(value = "/add",method = RequestMethod.GET)public String add(Model model){List<Menu> all = menuService.findAll();model.addAttribute("title","添加角色");model.addAttribute("topMenus", MenuUtil.getTopMenus(all));model.addAttribute("secondMenus", MenuUtil.getSecondMenus(all));model.addAttribute("thirdMenus", MenuUtil.getThirdMenus(all));return "admin/role/add";}/*** 角色添加表单提交处理* @param role* @return*/@ResponseBody@RequestMapping(value = "/add",method = RequestMethod.POST)public Result<Boolean> add(Role role, HttpServletRequest request){CodeMsg validate = ValidateEntityUtil.validate(role);if(validate.getCode()!=CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(roleService.save(role)==null){return Result.error(CodeMsg.ADMIN_ROLE_ADD_ERROR);}log.info("添加角色["+role+"]");operaterLogService.add("添加角色["+role.getName()+"]");return Result.success(true);}/*** 角色编辑页面* @param id* @param model* @return*/@RequestMapping(value = "/edit",method = RequestMethod.GET)public String edit(@RequestParam(name = "id",required = true) Long id, Model model){List<Menu> all = menuService.findAll();model.addAttribute("title","添加角色");model.addAttribute("topMenus", MenuUtil.getTopMenus(all));model.addAttribute("secondMenus", MenuUtil.getSecondMenus(all));model.addAttribute("thirdMenus", MenuUtil.getThirdMenus(all));Role role = roleService.find(id);model.addAttribute("role",role);//list转换为数组model.addAttribute("authorities", JSONArray.toJSON(role.getAuthorities()).toString());return "admin/role/edit";}/*** 角色修改表单提交处理* @param role* @param request* @return*/@ResponseBody@RequestMapping(value = "/edit",method = RequestMethod.POST)public Result<Boolean> edit(Role role, HttpServletRequest request){CodeMsg validate = ValidateEntityUtil.validate(role);if(validate.getCode()!=CodeMsg.SUCCESS.getCode()){return Result.error(validate);}Role existRole = roleService.find(role.getId());if(existRole==null){return Result.error(CodeMsg.ADMIN_ROLE_NO_EXIST);}existRole.setName(role.getName());existRole.setRemark(role.getRemark());existRole.setStatus(role.getStatus());existRole.setAuthorities(role.getAuthorities());if(roleService.save(existRole)==null){return Result.error(CodeMsg.ADMIN_ROLE_EDIT_ERROR);}log.info("编辑角色["+role+"]");operaterLogService.add("编辑角色["+role.getName()+"]");return Result.success(true);}@ResponseBody@RequestMapping(value = "/delete",method = RequestMethod.POST)public Result<Boolean> delete(@RequestParam(name = "id",required = true) Long id,HttpServletRequest request){try {roleService.delete(id);}catch (Exception e){return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);}log.info("删除角色ID["+id+"]");operaterLogService.add("删除角色ID["+id+"]");return Result.success(true);}}
后台用户管理控制器:
/*** 后台用户管理控制器*/
@RequestMapping("/admin/user")
@Component
public class UserController {@Autowiredprivate UserService userService;@Autowiredprivate RoleService roleService;@Autowiredprivate OperaterLogService operaterLogService;/*** 用户列表页面* @param model* @return*/@RequestMapping("/list")public String list(Model model, User user, PageBean<User> pageBean){model.addAttribute("usernmae",user.getUsername());model.addAttribute("pageBean",userService.findList(user,pageBean));model.addAttribute("title","用户列表");return "admin/user/list";}/*** 用户添加页面* @param model* @param* @return*/@RequestMapping(value = "/add",method = RequestMethod.GET)public String add(Model model){List<Role> all = roleService.findAll();model.addAttribute("roles",all);return "admin/user/add";}@ResponseBody@RequestMapping(value = "/add",method = RequestMethod.POST)public Result<Boolean> add(Model model,User user){//用统一验证实体方法验证是否合法CodeMsg validate = ValidateEntityUtil.validate(user);if(validate.getCode()!=CodeMsg.SUCCESS.getCode()){return Result.error(validate);}//判断用户的角色是否选择if(user.getRole()==null ||user.getRole().getId()==null){return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);}//没有ID 传个0进去 0不是Long类型 所以加个0l Lif(userService.isExistUsername(user.getUsername(),0l)){return Result.error(CodeMsg.ADMIN_USER_NAME_EXIST);}//到这说明一切符合条件进行数据库新增if(userService.save(user)==null){return Result.error(CodeMsg.ADMIN_USER_ADD_ERROR);}operaterLogService.add("添加用户,用户名:"+user.getUsername());return Result.success(true);}/*** 用户编辑页面* @param model* @param id* @return*/@RequestMapping(value = "/edit",method = RequestMethod.GET)public String edit(Model model,@RequestParam(name = "id",required = true) Long id){model.addAttribute("user",userService.find(id));model.addAttribute("roles",roleService.findAll());return "admin/user/edit";}/*** 编辑用户信息表单提交处理* @param user* @return*/@ResponseBody@RequestMapping(value = "/edit",method = RequestMethod.POST)public Result<Boolean> edit(User user){//用统一验证实体方法验证是否合法CodeMsg validate = ValidateEntityUtil.validate(user);if(validate.getCode()!=CodeMsg.SUCCESS.getCode()){return Result.error(validate);}//判断用户的角色是否选择if(user.getRole()==null ||user.getRole().getId()==null){return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);}if(user.getId()==null||user.getId().longValue()<=0){return Result.error(CodeMsg.ADMIN_USER_NO_EXIST);}//判断数据库user表有没有这个用户名if(userService.isExistUsername(user.getUsername(),user.getId().longValue())){return Result.error(CodeMsg.ADMIN_USER_NAME_EXIST);}//将提交的用户信息指定字段复制到已存在的user对象中User findbyId = userService.find(user.getId());//把source原来的字段复制到目标对象当中ignoreProperties表示忽略哪些字段 该方法会覆盖新字段内容BeanUtils.copyProperties(user,findbyId,"id","createTime","updateTime");//到这说明一切通过 开始进行数据库编辑if(userService.save(findbyId)==null){return Result.error(CodeMsg.ADMIN_USER_EDIT_ERROR);}operaterLogService.add("编辑用户,用户名:"+user.getUsername());return Result.success(true);}@ResponseBody@RequestMapping(value = "/delete",method = RequestMethod.POST)public Result<Boolean> delete(@RequestParam(name = "id",required = true) Long id) {try {userService.delete(id);} catch (Exception e){return Result.error(CodeMsg.ADMIN_USER_DELETE_ERROR);}operaterLogService.add("删除用户,id为:"+id);return Result.success(true);}
}
源码获取:博客首页 "资源" 里下载!
相关文章:

linux nfs共享文件
linux文件共享可以有多种方式:samba,nfs,ftp等等 nfs在linux之间效率高些: function nfs(){share_folder"/data1 192.168.0.239(rw,sync,no_root_squash)"yum install nfs-utils rpcbindecho $share_folder >> /etc/exportsexportfs -rv…

我有一个朋友写出了17种触发NPE的代码!避免这些坑
在JUnit4中,使用Mockito框架时,any() 是一个参数匹配器,当与基本数据类型一起使用时,需要使用相应的类型特定的匹配器,例如使用anyInt() 而不是any()。要防范它,不在高超的编码技巧,在细。的可能性,却并不是万能的,比如开发者在使用Optional,不检查是否存在,直接调用Optional.get(),那么会得到一个NoSuchElementException。我有一个朋友,写代码的时候常常遭到NPE背刺,痛定思痛,总结了NPE出没的17个场景,哪一个你还没有遇到过?

黑色星期五Friday the Thirteenth
题目描述 13号又是一个星期五。13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数。给出N年的一个周期,要求计算1900年1月1日至1900N-1年12月31日中十三号落在周一到周日的次数,N为正整…

帕斯卡三角形与道路问题
苏珊很为难.她步行去学校,路上老是遇到斯廷基.斯廷基:"嘿嘿,苏珊,我可以陪你一起走吗?" 苏珊:"不!请走开."苏珊心想:我有办法了.每天早上我走不同的路线去学校.这样斯廷基就不知道在哪儿找到我了.这张地图表示苏珊的住所和学校之间的所有街道.苏珊去学校…

Java项目:学生信息管理系统(java+SSM+JSP+layui+maven+mysql)
源码获取:博客首页 "资源" 里下载! 一、项目简述 功能包括: 三角色管理: 学生,教师,管理员,在线选课,成绩录入,学生管理,选课管理,教室管理等等。…

Java for LeetCode 067 Add Binary
Given two binary strings, return their sum (also a binary string). For example, a "11" b "1" Return "100". 解题思路: JAVA实现如下: static public String addBinary(String a, String b) {if (a.length() <…

ON DUPLICATE KEY UPDATE 导致mysql自增主键ID跳跃增长
具体解决方案可以根据项目来选择,如果项目不大,可以考虑1和2。如果不考虑高并发问题,可以考虑3。

一起学JDK源码 -- System类
System类是被final修饰的,不能被继承。

python csv模块心得
2019独角兽企业重金招聘Python工程师标准>>> with open(tiger.csv, wb) as csvfile:writer csv.writer(csvfile, quotingcsv.QUOTE_ALL)row [中国, 美国, 台湾, 马来西亚]writer.writerow([unicode(s).encode("utf-8") for s in row]) 转载于:https://m…

全局变量及输出语句
全局变量 是系统已经定义好的变量,主要反映sql数据库的操作状态。 全局变量名称以开头‘ 举例 identity:返回最后插入的标识值 error:返回执行的上一个T_sql语句的错误号 常用的输出语句 print:结果有消息中以文的形式显示 select:…

Nested Mappings
/*hanzhiguang coded at 2009.07.30 1:20*/ // nesting_map.cpp : Defines the entry point for the console application. // /*------------------------------------------------------------------------- 给定自然数n,找出所有不同的有序对i和j,其中 1<j<i<n,使得…

Java项目:CRM客户关系管理系统(java+Springboot+maven+mysql)
源码获取:博客首页 "资源" 里下载! Springboot项目CRM客户关系管理系统: 系统实现了CRM客户关系系统的基本功能,主要有看板(当月参与的业务机会、当月转化情况、将要结束的业务机会等)、业务机会࿰…

linux下occi操作oracle数据库,中文乱码的问题
转载:http://www.linuxidc.com/Linux/2008-02/11238.htm 前几日调通了OCI连接数据库的问题后,用Oracle自带的例子测试了一下,能正常读取数据(都是英文的),就放心了,转去开发别的模块。这几天做数…

tomcat启动时一闪而过的问题
在CMD窗口中输入 cd E:\apache-tomcat-7.0.52\bin 后再输入E:显示进入相应目录E:\apache-tomcat-7.0.52\bin后,再输入startup 后窗口一闪而过,可通过以下步骤进行调试解决:1.检查确认JAVA_HOME配置正确,可以在命令行中输入java显示…

The Long-Term Stability of Ecosystems
The Long-Term Stability of Ecosystems Plant communities assemble themselves flexibly, and their particular structure depends on the specific history of the area. Ecologists use the term “succession”to refer to the changes that happen in plant communities…

big endian little endian
大端(big-endian)和小端(little-endian)<转>2007-12-07 20:36补:x86机是小端(修改分区表时要注意),单片机一般为大端 今天碰一个关于字节顺序的问题,虽然看起来很简单,但一直都没怎么完全明白这个东西,索性就找了下资料,把它弄清楚. 因为现行的…

Java项目:学生考勤管理系统(java+SSM+Poi导出+Easyui+JFreeChart+maven+mysql)
源码获取:博客首页 "资源" 里下载! 这个项目适合SSM框架的初学者(涉及大量增删改查,很适合初学者)以及对Shiro安全框架和Poi技术感兴趣的同学。 项目功能: 用户管理功能(登录、退出登…
【STL源码剖析读书笔记】【第5章】关联式容器之hashtable
1、hashtable在插入、删除、搜寻操作上具有“常数平均时间”的表现,不依赖输入元素的随机性。 2、hashtable通过hashfunction将元素映射到不同的位置,但当不同的元素通过hash function映射到相同的位置时,便产生了“碰撞”问题。解决碰撞问题…

Event自定义事件
//index.html文件<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible"…
byte endian(biglittle endian)
1. 大小端的区别 little endian:把低位字节存放在内存的低位; // big endian: 将低位字节存放在内存的高位; 比如:0x1234,则12 就属于高位字节;34 属于低位字节 假如从地址0x0000 0000开始的一个字节中保存数据0x12345678, 这2中字节序在内存当中存…

鸡啄米vc++2010系列32(标签控件Tab Control 下)
上一节中鸡啄米讲了标签控件知识的上半部分,本节继续讲下半部分。 标签控件的创建 MFC为标签控件的操作提供了CTabCtrl类。 与之前的控件类似,创建标签控件可以在对话框模板中直接拖入Tab Control,也可以使用CTabCtrl类的Create成员函数创建。…

Java项目:网上图书商城系统(java+SSM+Jsp+MySQL+Redis+JWT+Shiro+RabbitMQ+EasyUI)
源码获取:博客首页 "资源" 里下载! 这个项目涉及到Shiro整合JWT、秒杀功能所具备的基本要求(限流、乐观锁、接口隐藏、JMeter高并发测试等等)、消息中间件RabbitMQ的异步邮件通知和死信队列、沙箱支付宝模拟支付等等技术亮点。 项目功能&#…

虚拟机使用镜像文件安装系统
场景说明:指定Linux镜像之后,点击电源开始安装,安装完成之后,卸载ISO,进入BIOS,设置从硬盘启动。vmvare有提供快速安装的方式。当前的安装类似于手动安装,模拟真实的环境操作步骤:1&…

cmd命令简单别木马的蛛丝马迹
一些基本的Windows命令往往可以识别木马的蛛丝马迹,而且在保护网络安全上起到很大的作用。 检测网络连接 如果你怀疑自己的计算机上被别人安装了木马,或者是中了病毒,但是手里没有完善的工具来检测是不是真有这样的事情发生,那可以…

ubuntu常用翻译工具stardict
日常办公应用中,我们经常会碰到一些陌生的外文单词或文章需要翻译,在Windows平台上,可通过很多翻译工具来帮忙解决。当我们转到Ubuntu系统 中办公时,肯定也希望能有一款简单易用、功能强大的翻译工具。 这里给大家推荐Linux平…

Java项目:教务管理系统(java+JSP+Spring+SpringBoot+layui+maven)
源码获取:博客首页 "资源" 里下载! 一、项目简述 功能包括: 三角色教师 管理员,学生教务管理系统,包括院系管理,课题综合管理,信息管理,以及差旅管理,学生选题…

jsp 环境配置记录
1. jdk,下载地址1 环境变量配置: 1)新建 JAVA_HOME 变量 。 变量值填写jdk的安装目录(本人是 C:\Java\jdk1.7.0) 2) 系统变量→寻找 Path 变量→编辑 在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意原…

一些关于找工作的书籍
技术类 算法导论:不要纠缠太难的部分(红黑树、斐波那契额堆、NP、近似算法); 编程之美:仔细阅读,包括上面的智力题,纸上手写代码; 编程珠玑:建议仔细阅读,尤其…

最快地复制一张表
1.mysqldump方法 一种方法是,使用mysqldump命令将数据导出成一组INSERT语句。你可以使用下面的命令: mysqldump -h$host -P$port -u$user --add-locks --no-create-info --single-transaction --set-gtid-purgedOFF db1 t --where"a>900" …

Linux下C++开发工具介绍
概述 就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anj…