### [分享微信小程序签到考勤后端代码](https://www.prosaas.cn/article/16568) **Published:** 2020-07-25T05:23:08 **Author:** 5201314 **Excerpt:** 相关推荐:《小程序开发教程》服务端源码鉴于很多小伙伴给我私信,询问关于后端代码的事。很开心很帮助到这么多人。但… 相关推荐:《小程序开发教程》 ## 服务端源码 鉴于很多小伙伴给我私信,询问关于后端代码的事。很开心很帮助到这么多人。但之前由于某种原因没能将其与客户端代码一并发布,这里将代码发布到GitHub上,让大家方便下载学习。这里用的是Java Servlet ,运行在 Web 服务器或应用服务器上的程序,作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。数据库使用的是MySQL,持久层使用了JDBC,Java的原生API。没有使用框架,方便新手学习,也更能理解web的运行机制和原理。 GitHub地址:传送门 这里要说明一下关键的代码: /\*\* \* Servlet implementation class Login \*/@WebServlet("/Login")public class Login extends HttpServlet { private static final long serialVersionUID = 1L; private static final String APPID="xxxxxxxxxx"; private static final String SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxx"; /\*\* \* Default constructor. \*/ public Login() { // TODO Auto-generated constructor stub } /\*\* \* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) \*/ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //ÉèÖÃÇëÇó±àÂë request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); /\* ÉèÖÃÏìӦͷÔÊÐíajax¿çÓò·ÃÎÊ \*/ response.setHeader("Access-Control-Allow-Origin", "\*"); /\* ÐǺűíʾËùÓеÄÒìÓòÇëÇ󶼿ÉÒÔ½ÓÊÜ£¬ \*/ response.setHeader("Access-Control-Allow-Methods", "GET,POST"); String flag=request.getParameter("flag"); // System.out.println(flag); if("login".equals(flag)) { String code=request.getParameter("js\_code"); String url = "https://api.weixin.qq.com/sns/jscode2session?appid="+APPID+ "&secret="+SECRET+"&js\_code="+ code +"&grant\_type=authorization\_code"; JSONObject sjson=CommonUtil.httpsRequest(url, "GET", null); /\*String openid=""; String session\_key=""; if (sjson != null) { try { openid = sjson.getString("openid"); session\_key=sjson.getString("session\_key"); } catch (Exception e) { System.out.println("ÒµÎñ²Ù×÷ʧ°Ü"); e.printStackTrace(); } } else { System.out.println("codeÎÞЧ"); } System.out.println(session\_key+" "+openid);\*/ /\*Map result = new HashMap(); result.put("res", "test"); result.put("msg", "ºǫ́ÒÑÊÕµ½");\*/ // String json = new Gson().toJson(sjson); // System.out.println(json); Writer out=response.getWriter(); out.write(sjson.toString()); out.flush(); } if("init".equals(flag)) { StudentDAO studentDAO=new StudentDAO(); String userid=request.getParameter("userid"); boolean res=true; try { res=studentDAO.findCheck(userid); } catch (Exception e) { e.printStackTrace(); } Map result = new HashMap(); result.put("res", res); result.put("msg", "ºǫ́ÒÑÊÕµ½"); String json = new Gson().toJson(result); //·µ»ØÖµ¸øÎ¢ÐÅС³ÌÐò Writer out = response.getWriter(); out.write(json); out.flush(); } if("student".equals(flag)) { StudentDAO studentDAO=new StudentDAO(); String userid=request.getParameter("userid"); String studentName=request.getParameter("sname"); String studentNum=request.getParameter("snum"); Student student=new Student(userid, studentName, studentNum,new Date()); try { int a=studentDAO.create(student); if(a!=0) { System.out.println("²åÈë³É¹¦"); } } catch (Exception e) { e.printStackTrace(); } } if("teacher".equals(flag)) { TeacherDAO teacherDAO=new TeacherDAO(); String userid=request.getParameter("userid"); String teacherName=request.getParameter("tname"); String teacherID=request.getParameter("tnum"); Teacher tea=new Teacher(userid, teacherID, teacherName,new Date()); try { int a=teacherDAO.create(tea); if(a!=0) { System.out.println("²åÈë³É¹¦"); } } catch (Exception e) { e.printStackTrace(); } } if("guide".equals(flag)) { StudentDAO studentDAO=new StudentDAO(); String userid=request.getParameter("userid"); System.out.println(userid); boolean res=true; String state=""; try { res=studentDAO.findCheck(userid); } catch (Exception e) { e.printStackTrace(); } if(res) { state="student"; } else{ TeacherDAO teacherDAO=new TeacherDAO(); try { res=teacherDAO.findCheck(userid); } catch (Exception e) { e.printStackTrace(); } if(res) { state="teacher"; } else { state="none"; } } String json = new Gson().toJson(state); //·µ»ØÖµ¸øÎ¢ÐÅС³ÌÐò Writer out = response.getWriter(); out.write(json); out.flush(); } if("myInfo".equals(flag)) { String userid=request.getParameter("userid"); StudentDAO studentDAO=new StudentDAO(); try { List list=studentDAO.myInfo(userid); Map result = new HashMap(); result.put("backName",list.get(0)); result.put("backNum", list.get(1)); String json = new Gson().toJson(result); //·µ»ØÖµ¸øÎ¢ÐÅС³ÌÐò Writer out = response.getWriter(); out.write(json); out.flush(); } catch (Exception e) { e.printStackTrace(); } } } /\*\* \* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) \*/ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }} 这里的APPID和SECRET要使用你自己的。由于最近很少关注博客,咨询的人也很多,很多私信来不及回复,具体其它的就由大家自己探索喽。本程序纯属个人兴趣,切勿用于商业用途。 以上就是分享微信小程序签到考勤后端代码的详细内容,更多请关注知企PROSAAS其它相关文章! **Tags:** github, http, Java, mysql, servlet, 并发, 微信小程序, 数据库 **Categories:** 后端开发 ---