관련 추천 : "미니 프로그램 개발 튜토리얼"
많은 친구들이 저에게 백엔드 코드에 대해 비공개 메시지를 보냈다는 점을 고려하여. 많은 분들께 도움이 되어 매우 기쁩니다. 다만, 어떤 이유로 인해 클라이언트 코드와 함께 공개할 수는 없었는데, 여기서는 누구나 편리하게 다운로드하여 학습할 수 있도록 GitHub에 코드를 공개합니다. 여기서 사용되는 것은 웹 브라우저나 다른 HTTP 클라이언트의 요청과 HTTP 서버의 데이터베이스나 애플리케이션 사이의 중간 계층으로 웹 서버나 애플리케이션 서버에서 실행되는 프로그램인 Java Servlet입니다. 데이터베이스는 MySQL을 사용하고, 지속성 계층은 Java의 기본 API인 JDBC를 사용합니다. 프레임워크가 사용되지 않으므로 초보자도 웹의 작동 메커니즘과 원리를 더 쉽게 배우고 더 잘 이해할 수 있습니다.
GitHub 주소: Portal
키 코드는 다음과 같습니다:
/** * 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<String, Object> result = new HashMap<String, Object>(); 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<String, Object> result = new HashMap<String, Object>(); 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<String> list=studentDAO.myInfo(userid); Map<String, String> result = new HashMap<String, String>(); 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를 사용해야 합니다. 최근에는 블로그에 거의 관심을 기울이지 않고 조언을 구하는 사람들이 많기 때문에 많은 비공개 메시지에 답장할 시간이 없습니다. 나머지는 여러분이 직접 탐색하도록 맡기겠습니다. 본 프로그램은 순전히 개인의 이익을 위한 것이며, 상업적 목적으로 사용할 수 없습니다.
위 내용은 WeChat 애플릿 체크인 및 출석 백엔드 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!