首先在公众号里面设置好连接地址。javascript
接下来开始开发:css
连接地址的页面,也就是首页,须要调微信接口获取code:html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>话费抽奖</title> </head> <body onLoad="parent.location='https://open.weixin.qq.com/connect/oauth2/authorize?appid=*****************&redirect_uri=http://survey.runmin.top/uploa/wx.do&response_type=code&scope=snsapi_base'"> </body> </html>
注意这里的redirect_uri就是跳转的地址,而且微信会带着code返回,也就是说request中有code参数。java
注意我这里web.xml里面配置了多个servlet,包括wx.do:mysql
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>uploa</display-name> <servlet> <servlet-name>ImageUpload</servlet-name> <servlet-class>com.bt.action.ImageUpload</servlet-class> </servlet> <servlet-mapping> <servlet-name>ImageUpload</servlet-name> <url-pattern>/uploadImage</url-pattern> </servlet-mapping> <servlet> <servlet-name>Wx</servlet-name> <servlet-class>com.bt.action.Wx</servlet-class> </servlet> <servlet-mapping> <servlet-name>Wx</servlet-name> <url-pattern>/wx.do</url-pattern> </servlet-mapping> <servlet> <servlet-name>UserScore</servlet-name> <servlet-class>com.bt.action.UserScore</servlet-class> </servlet> <servlet-mapping> <servlet-name>UserScore</servlet-name> <url-pattern>/UserScore.do</url-pattern> </servlet-mapping> <servlet> <servlet-name>UserPrize</servlet-name> <servlet-class>com.bt.action.UserPrize</servlet-class> </servlet> <servlet-mapping> <servlet-name>UserPrize</servlet-name> <url-pattern>/UserPrize.do</url-pattern> </servlet-mapping> <servlet> <servlet-name>GetPercent</servlet-name> <servlet-class>com.bt.action.GetPercent</servlet-class> </servlet> <servlet-mapping> <servlet-name>GetPercent</servlet-name> <url-pattern>/GetPercent.do</url-pattern> </servlet-mapping> <servlet> <servlet-name>GetPrice</servlet-name> <servlet-class>com.bt.action.GetPrice</servlet-class> </servlet> <servlet-mapping> <servlet-name>GetPrice</servlet-name> <url-pattern>/GetPrice.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
因此调完微信之后会跳转到个人com.bt.action.Wx这个servlet(乱码没有作处理,比较麻烦):jquery
package com.bt.action; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.json.JSONException; import org.json.JSONObject; public class Wx extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; private String APPID = "wxb6fb629b1400d10f";// �����������appid����URL�����appid��һ����˼ private String APPSECRET = "2ae8ba03be5bccd5190f9f65b202768a"; // ����������ŵ�app��Կ private String ACCESS_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=APPSECRET&code=CODE&grant_type=authorization_code"; // ����������ȡ�û���Ϣ��URL /** * @see HttpServlet#HttpServlet() */ /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String code = request.getParameter("code");// ��ȡOAuth2.0������������ص�code����,���code�ڽ��������ŷ��������û���Ϣ��ʱ��Ҫ�õ� System.out.println(code); String requestUrlString = ACCESS_URL.replace("APPID", APPID).replace("APPSECRET", APPSECRET).replace("CODE", code);// �������û���URL�е�///�����滻������������ System.out.println(requestUrlString); URL url = new URL(requestUrlString); // ����url���� HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); // ������ urlConnection.setDoOutput(true); urlConnection.setDoInput(true); urlConnection.setRequestMethod("GET"); urlConnection.setUseCaches(false); urlConnection.connect(); BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "utf-8")); StringBuffer buffer = new StringBuffer();// �洢���������ص���Ϣ String line = ""; String openid = ""; while ((line = reader.readLine()) != null) { buffer.append(line); } String result = buffer.toString(); System.out.println(result); try { JSONObject resultObject = new JSONObject(result); // �����������ص��ַ���ת����json��ʽ openid = resultObject.getString("openid"); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } //��ȡaccess_tokenֵ // URL url0 = new URL("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+APPID+"&secret="+APPSECRET+""); // ����url���� // HttpURLConnection urlConnection0 = (HttpURLConnection) url0.openConnection(); // ������ // urlConnection0.setDoOutput(true); // urlConnection0.setDoInput(true); // urlConnection0.setRequestMethod("GET"); // urlConnection0.setUseCaches(false); // urlConnection0.connect(); // BufferedReader reader0 = new BufferedReader(new InputStreamReader(urlConnection0.getInputStream(), "utf-8")); // StringBuffer buffer0 = new StringBuffer();// �洢���������ص���Ϣ // String line0 = ""; // String access_token=""; // String expires_in = ""; // while ((line0 = reader0.readLine()) != null) { // buffer0.append(line0); // } // String result0 = buffer.toString(); // System.out.println(result0); // try { // JSONObject resultObject = new JSONObject(result0); // �����������ص��ַ���ת����json��ʽ // expires_in = resultObject.getString("expires_in"); // access_token = resultObject.getString("access_token"); // } catch (JSONException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // System.err.println("access_token����ʱ�䣨�룩:"+expires_in); // // // URL url2 = new URL("https://api.weixin.qq.com/cgi-bin/user/info?access_token="+access_token+"&openid="+openid+"&lang=zh_CN"); // ����url���� // System.out.println(url2); // HttpURLConnection urlConnection2 = (HttpURLConnection) url2.openConnection(); // ������ // urlConnection2.setDoOutput(true); // urlConnection2.setDoInput(true); // urlConnection2.setRequestMethod("GET"); // urlConnection2.setUseCaches(false); // urlConnection2.connect(); // BufferedReader reader2 = new BufferedReader(new InputStreamReader(urlConnection2.getInputStream(), "utf-8")); // StringBuffer buffer2 = new StringBuffer();// �洢���������ص���Ϣ // String line2 = ""; // String nickname = ""; // while ((line2 = reader2.readLine()) != null) { // buffer2.append(line2); // } // String result2 = buffer2.toString(); // System.out.println(result2); // try { // JSONObject resultObject = new JSONObject(result); // �����������ص��ַ���ת����json��ʽ // nickname = resultObject.getString("nickname"); // } catch (JSONException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } HttpSession session=request.getSession(); session.setAttribute("username", openid); request.getRequestDispatcher("index.html").forward(request, response); } }
接下来跳转到index.html:css3
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"> <head> <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no"> <meta http-equiv=Content-Type content="text/html; charset=utf-8"> <meta name=ProgId content=Word.Document> <meta name=Generator content="Microsoft Word 14"> <meta name=Originator content="Microsoft Word 14"> <title>宪法答题</title> <style> @font-face { font-family: "Times New Roman"; } @font-face { font-family: "宋体"; } @font-face { font-family: "Wingdings"; } @font-face { font-family: "Calibri"; } @font-face { font-family: "微软雅黑"; } p.MsoNormal { mso-style-name: 正文; mso-style-parent: ""; margin: 0pt; margin-bottom: .0001pt; mso-pagination: none; text-align: justify; text-justify: inter-ideograph; font-family: Calibri; mso-fareast-font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; font-size: 22.5000pt; mso-font-kerning: 1.0000pt; } h1 { mso-style-name: "标题 1"; mso-style-next: 正文; margin-top: 5.0000pt; margin-bottom: 5.0000pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-pagination: none; text-align: left; font-family: 宋体; font-weight: bold; font-size: 26.0000pt; mso-font-kerning: 22.0000pt; } span.10 { font-family: 'Times New Roman'; } span.15 { font-family: 'Times New Roman'; color: rgb(0, 0, 255); text-decoration: underline; text-underline: single; } p.p { mso-style-name: "普通\(网站\)"; margin-top: 5.0000pt; margin-right: 0.0000pt; margin-bottom: 5.0000pt; margin-left: 0.0000pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-pagination: none; text-align: left; font-family: Calibri; mso-fareast-font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; font-size: 22.0000pt; } span.msoIns { mso-style-type: export-only; mso-style-name: ""; text-decoration: underline; text-underline: single; color: blue; } span.msoDel { mso-style-type: export-only; mso-style-name: ""; text-decoration: line-through; color: red; } table.MsoNormalTable { mso-style-name: 普通表格; mso-style-parent: ""; mso-style-noshow: yes; mso-tstyle-rowband-size: 0; mso-tstyle-colband-size: 0; mso-padding-alt: 0.0000pt 5.4000pt 0.0000pt 5.4000pt; mso-para-margin: 0pt; mso-para-margin-bottom: .0001pt; mso-pagination: widow-orphan; font-family: 'Times New Roman'; font-size: 22.0000pt; mso-ansi-language: #0400; mso-fareast-language: #0400; mso-bidi-language: #0400; } @page { mso-page-border-surround-header: no; mso-page-border-surround-footer: no; } @page Section0 { margin-top: 72.0000pt; margin-bottom: 72.0000pt; margin-left: 90.0000pt; margin-right: 90.0000pt; size: 595.3000pt 841.9000pt; layout-grid: 15.6000pt; } div.Section0 { page: Section0; } </style> <script type="text/javascript"> function toresult() { document.getElementById("form1").submit(); } </script> <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <!-- 屏蔽分享 --> <script> function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); } if (typeof WeixinJSBridge == "undefined") { if (document.addEventListener) { document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); } else if (document.attachEvent) { document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } } else { onBridgeReady(); } var errori ='<%=request.getParameter("error")%>'; if(errori=='yes'){ alert("登陆失败!"); } function getRTime(){ var EndTime= new Date('2017/12/7 23:59:59'); //截止时间 var NowTime = new Date(); var t =EndTime.getTime() - NowTime.getTime(); /*var d=Math.floor(t/1000/60/60/24); t-=d*(1000*60*60*24); var h=Math.floor(t/1000/60/60); t-=h*60*60*1000; var m=Math.floor(t/1000/60); t-=m*60*1000; var s=Math.floor(t/1000);*/ var d=Math.floor(t/1000/60/60/24); var h=Math.floor(t/1000/60/60%24); var m=Math.floor(t/1000/60%60); var s=Math.floor(t/1000%60); document.getElementById("t_d").innerHTML = d + "天"; document.getElementById("t_h").innerHTML = h + "时"; document.getElementById("t_m").innerHTML = m + "分"; document.getElementById("t_s").innerHTML = s + "秒"; } setInterval(getRTime,1000); </script> </head> <body style="tab-interval: 21pt; text-justify-trim: punctuation;"> <!--StartFragment--> <form action="uploadImage" id="form1" name="form1" method="post"> <div class="Section0" style="layout-grid: 15.6000pt; padding-left: 10px;" align=center> <p class=p align=center style="margin-top: 15.0000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: center; mso-line-height-alt: 12pt;"> <span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(76, 76, 76); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 20.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);"><font face="微软雅黑">第一期宪法答题</font></span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; font-size: 14.0000pt; mso-font-kerning: 0.0000pt;"><o:p></o:p></span> </p> <samp style="color: red; font-size: 14.0000pt">完成答题可参与抽奖!抽中奖后,话费将在48小时内充值成功。请注意查收。每一个微信号只能参与本周题目的一次机会答题抽奖。</samp> <p class=p style="margin-top: 15.0000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan;"> <span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);"><font face="微软雅黑">欢迎参与本次问卷</font></span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; font-size: 14.0000pt; mso-font-kerning: 0.0000pt;"><o:p></o:p></span> </p> <p class=p style="margin-top: 15.0000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan;"> <span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);"><font face="微软雅黑">离答题结束还有: <span id="t_d">00天</span> <span id="t_h">00时</span> <span id="t_m">00分</span> <span id="t_s">00秒</span></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: -11.3000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">一、新中国的第一部宪法是:</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val1" value="A"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">A、共同纲领</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val1" value="B"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">B、1954年宪法</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val1" value="C"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">C、1975年宪法</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val1" value="D"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">D、1982年宪法</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: -11.3000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">二、我国宪法规定,土地使用权能够依照法律的规定:</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val2" value="A"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">A、出租</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val2" value="B"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">B、买卖</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val2" value="C"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">C、转让</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val2" value="D"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">D、馈赠 </span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: -11.3000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">三、中华共和国的一切权力属于:</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val3" value="A"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">A、公民</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val3" value="B"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">B、人民</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val3" value="C"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">C、人民表明大会</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val3" value="D"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">D、工农联盟</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: -11.3000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">四、国家保护城乡集体经济组织的合法的权利和利益,( )集体经济的发展。</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val4" value="A"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">A、鼓励、支持和引导</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val4" value="B"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">B、指导、帮助和监督</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val4" value="C"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">C、引导、监督和管理</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val4" value="D"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">D、鼓励、指导和帮助</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: -11.3000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">五、我国现行宪法规定,父母有抚养教育未成年子女的义务,</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 14.0000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val5" value="A"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">A、子女有赡养扶助父母的义务</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val5" value="B"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">B、成年子女有赡养扶助年老父母的义务</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val5" value="C"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">C、子女有赡养扶助丧失劳动能力的父母的义务</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal style="margin-top: 22.5000pt; margin-right: 0.0000pt; margin-bottom: 7.5000pt; margin-left: 0.0000pt; text-indent: 0.0000pt; padding: 0pt 0pt 0pt 0pt; mso-pagination: widow-orphan; text-align: left; background: rgb(255, 255, 255);"> <span></span><input type="radio" name="val5" value="D"><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(255, 255, 255); mso-shading: rgb(255, 255, 255);">D、成年子女有赡养扶助父母的义务</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(102, 102, 102); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal align=center onclick="toresult()" style="margin-top: 0.0000pt; cursor: hand; margin-right: 1.5000pt; margin-bottom: 0.0000pt; margin-left: 15.0000pt; text-indent: 0.0000pt; border-top: 1.0000pt solid rgb(83, 164, 244); mso-border-top-alt: 0.7500pt solid rgb(83, 164, 244); border-right: 1.0000pt solid rgb(83, 164, 244); mso-border-right-alt: 0.7500pt solid rgb(83, 164, 244); border-bottom: 1.0000pt solid rgb(83, 164, 244); mso-border-bottom-alt: 0.7500pt solid rgb(83, 164, 244); border-left: 1.0000pt solid rgb(83, 164, 244); mso-border-left-alt: 0.7500pt solid rgb(83, 164, 244); padding: 3pt 21pt 3pt 21pt; mso-pagination: widow-orphan; text-align: center; vertical-align: baseline; line-height: 21.0000pt; background: rgb(83, 164, 244);"> <span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(255, 255, 255); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 10.5000pt; mso-font-kerning: 0.0000pt; background: rgb(83, 164, 244); mso-shading: rgb(83, 164, 244);"> 提 交 答 案</span><span style="mso-spacerun: 'yes'; font-family: 微软雅黑; color: rgb(120, 120, 120); letter-spacing: 0.0000pt; font-weight: normal; text-transform: none; font-style: normal; font-size: 9.0000pt; mso-font-kerning: 1.0000pt;"><o:p></o:p></span> </p> <p class=MsoNormal> <span style="mso-spacerun: 'yes'; font-family: Calibri; mso-fareast-font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; font-size: 10.5000pt; mso-font-kerning: 1.0000pt;"><o:p> </o:p></span> </p> </div> </form> <!--EndFragment--> </body> </html>
跳转到ImageUpload:web
package com.bt.action; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class ImageUpload extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to * post. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ @SuppressWarnings("static-access") public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session=request.getSession(); // String nickname=session.getAttribute("nickname").toString(); String val1 = request.getParameter("val1"); String val2 = request.getParameter("val2"); String val3 = request.getParameter("val3"); String val4 = request.getParameter("val4"); String val5 = request.getParameter("val5"); List<String> list = new ArrayList<>(); int right = 0; int wrong = 0; int score = 0; if ("B".equals(val1)) { list.add("1.√"); right = right + 1; score = score + 20; } else { list.add("1.<span style=\"font-size: 30.0000pt; color: red;\">×</span>。正确答案为:新中国的第一部宪法是<span style=\"font-size: 30.0000pt; color: red;\">(B.1954年宪法)</span>"); wrong = wrong + 1; } if ("C".equals(val2)) { list.add("2.√"); right = right + 1; score = score + 20; } else { list.add("2.<span style=\"font-size: 30.0000pt; color: red;\">×</span>。正确答案为: 我国宪法规定,土地使用权能够依照法律的规定<span style=\"font-size: 30.0000pt; color: red;\">(C. 转让)</span>"); wrong = wrong + 1; } if ("B".equals(val3)) { list.add("3.√"); right = right + 1; score = score + 20; } else { list.add("3.<span style=\"font-size: 30.0000pt; color: red;\">×</span>。正确答案为:中华共和国的一切权力属于<span style=\"font-size: 30.0000pt; color: red;\">(B.人民)</span>"); wrong = wrong + 1; } if ("D".equals(val4)) { list.add("4.√"); right = right + 1; score = score + 20; } else { list.add("4.<span style=\"font-size: 30.0000pt; color: red;\">×</span>。正确答案为: 国家保护城乡集体经济组织的合法的权利和利益,<span style=\"font-size: 30.0000pt; color: red;\">(D.鼓励、指导和帮助)</span>集体经济的发展。"); wrong = wrong + 1; } if ("B".equals(val5)) { list.add("5.√"); right = right + 1; score = score + 20; } else { list.add("5.<span style=\"font-size: 30.0000pt; color: red;\">×</span>。正确答案为:我国现行宪法规定,父母有抚养教育未成年子女的义务,<span style=\"font-size: 30.0000pt; color: red;\">(B.成年子女有赡养扶助年老父母的义务)</span>"); wrong = wrong + 1; } request.setAttribute("list", list); request.setAttribute("right", right); request.setAttribute("wrong", wrong); request.setAttribute("score", score); UserScore dao=new UserScore(); try { boolean status = dao.doPost(request, response); if(status==false) { response.setCharacterEncoding("UTF-8"); response.getWriter().write("您已经答过题!"); RequestDispatcher dispatcher = request.getRequestDispatcher("NewFile.html"); // 使用req对象获取RequestDispatcher对象 dispatcher.forward(request, response); }else { request.getRequestDispatcher("result.jsp").forward(request, response); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
跳转到result.jsp:
<%@ page language="java" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>答题结果</title> <script type="text/javascript" src="js/jquery-1.10.2.js"></script> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <!-- 屏蔽分享 --> <script> function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); } if (typeof WeixinJSBridge == "undefined") { if (document.addEventListener) { document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); } else if (document.attachEvent) { document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } } else { onBridgeReady(); } var choujiang = function (){ $.post("UserScore.do", { score:score }, function(data,status){ console.log("Data: " + data + "\nStatus: " + status); }); } </script> <style type="text/css"> </style> <input type="hidden" name="username" value="1"> <span style="display:none">var score = ${score };</span> </head> <body onclick="choujiang"> <div align="center"> <img width="300px" height="300px" src="log.jpg"> </div> <div align="center"> <p align="center"> <table width="70%" align="right"> <tr align="left"> <td width="100%"><samp style="color: red; font-size: 34.0000pt">谢谢参加本次活动</samp><br /> <br /> <samp style="font-size: 40.0000pt">您本次总分数:</samp><br /> <br /></td> </tr> </table> <table width="100%" align="right"> <tr align="left"> <td width="100%"> <p align="center"> <samp style="font-size: 50.0000pt; color: red;">${score }</samp> </p> </td> </tr> </table> <table width="70%" align="right"> <tr align="left"> <td width="100%"><samp style="font-size: 40.0000pt">如下是您的得分状况</samp><br /> <br /></td> </tr> </table> <table width="100%" align="center"> <c:forEach var="item" items="${list}" varStatus="i"> <tr align="left"> <c:if test="${i.index ==0}"> <td align="left"><samp style="font-size: 30.0000pt;">${item}</samp><br /> </td> </c:if> </tr> <tr align="left"> <c:if test="${i.index ==1}"> <td align="left"><samp style="font-size: 30.0000pt;">${item}</samp><br /> </td> </c:if> </tr> <tr align="left"> <c:if test="${i.index ==2}"> <td align="left"><samp style="font-size: 30.0000pt;">${item}</samp><br /> </td> </c:if> </tr> <tr align="left"> <c:if test="${i.index ==3}"> <td align="left"><samp style="font-size: 30.0000pt;">${item}</samp><br /> </td> </c:if> </tr> <c:if test="${i.index ==4}"> <td align="left"><samp style="font-size: 30.0000pt;">${item}</samp><br /></td> </c:if> <tr align="left"> <c:if test="${i.index ==5}"> <td align="left"><samp style="font-size: 50.0000pt">${item}</samp><br /> </td> </c:if> </tr> </c:forEach> </table> </div> </p> </div> <div align="center"> <div id = "msg" name="msg" style="font-size:50.0000pt"></div> <samp style="color: red; font-size: 34.0000pt">请输入中奖金额充值手机号:</samp> <input style="height:50px;width:800px;font-size:24.0000pt" type="text" id="phone" name="phone" onblur="msg();"> <br><br> <input style="width:400px;height:100px;background: #EE4000;font-size:30px;" type="button" onclick="sbm()" value="点击抽奖"></div> <script type="text/javascript"> function sbm() { var num = $("#phone").val(); if(num == null || $.trim(num) == "" || !/^((1)+\d{10})$/.test(num)){ $("#msg").html("手机号码格式不正确"); return ; }else{ $("#msg").html(""); } if($("#msg").html()==""){ window.location.href="index1.html?phone="+$("#phone").val(); } } function msg() { //验证手机号码格式 var num = $("#phone").val(); if(num == null || $.trim(num) == "" || !/^((1)+\d{10})$/.test(num)){ $("#msg").html("手机号码格式不正确"); return; }else{ $("#msg").html(""); } } </script> </body> </html>
点击抽奖后到Index1.html:正则表达式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>话费抽奖</title> <meta name="keywords" content="js大转盘抽奖, 微信游戏特效, css3动画, 网页特效" /> <link href="css/style.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="js/jquery-1.10.2.js"></script> <script type="text/javascript" src="js/awardRotate.js"></script> <script type="text/javascript"> function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); } if (typeof WeixinJSBridge == "undefined") { if (document.addEventListener) { document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); } else if (document.attachEvent) { document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } } else { onBridgeReady(); } var percent; var perc; var money; var item; var turnplate={ restaraunts:[], //大转盘奖品名称 colors:[], //大转盘奖品区块对应背景颜色 outsideRadius:192, //大转盘外圆的半径 textRadius:155, //大转盘奖品位置距离圆心的距离 insideRadius:68, //大转盘内圆的半径 startAngle:0, //开始角度 bRotate:false //false:中止;ture:旋转 }; $(document).ready(function(){ //动态添加大转盘的奖品与奖品区域背景颜色 turnplate.restaraunts = ["50元话费", "20元话费", "10元话费", "5元话费", "感谢参与"]; turnplate.colors = ["#FFF4D6", "#FFF4D7", "#FFF4D8", "#FFF4D9","#FFF4D10"]; var reg = new RegExp("(^|&)"+ 'phone' +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 var phone = unescape(r[2]); var rotateTimeOut = function (){ $('#wheelcanvas').rotate({ angle:0, animateTo:2160, duration:8000, callback:function (){ alert('网络超时,请检查您的网络设置!'); } }); }; //旋转转盘 item:奖品位置; txt:提示语; var rotateFn = function (item, txt){ var angles = item * (360 / turnplate.restaraunts.length) - (360 / (turnplate.restaraunts.length*2)); if(angles<270){ angles = 270 - angles; }else{ angles = 360 - angles + 270; } $('#wheelcanvas').stopRotate(); $('#wheelcanvas').rotate({ angle:0, animateTo:angles+1800, duration:8000, callback:function (){ alert(txt); turnplate.bRotate = !turnplate.bRotate; } }); }; $('.pointer').click(function (){ if(turnplate.bRotate)return; turnplate.bRotate = !turnplate.bRotate; //获取随机数(奖品个数范围内) //getPercent; item = rnd(1,2000); console.log(item); if(item ==1){ money=50; item=1; }else if(item >5 && item<11){ money=20; item=2; }else if(item >99 && item<110){ money=10; item=3; }else if(item >200 && item<281){ money=5; item=4; }else{ money="未中奖"; item=5; } $.post("GetPrice.do", { }, function(data,status){ if(data!=1){ alert("您已经抽过奖!") return; }else{ if(money!=0){ $.post("GetPercent.do", { price:money }, function(data){ console.log("Data: " + data); if(data<=0){ money=0; item=5; //奖品数量等于10,指针落在对应奖品区域的中心角度[252, 216, 180, 144, 108, 72, 36, 360, 324, 288] rotateFn(item, turnplate.restaraunts[item-1]); } //奖品数量等于10,指针落在对应奖品区域的中心角度[252, 216, 180, 144, 108, 72, 36, 360, 324, 288] rotateFn(item, turnplate.restaraunts[item-1]); $.post("UserPrize.do", { price:money, phone:phone }, function(data,status){ console.log("Data: " + data + "\nStatus: " + status); }); }); } //奖品数量等于10,指针落在对应奖品区域的中心角度[252, 216, 180, 144, 108, 72, 36, 360, 324, 288] rotateFn(item, turnplate.restaraunts[item-1]); } }); $("button").click(function(){ $.post("demo_test_post.asp", { name:"Donald Duck", city:"Duckburg" }, function(data,status){ alert("Data: " + data + "\nStatus: " + status); }); }); console.log(item); }); }); function rnd(n, m){ var random = Math.floor(Math.random()*(m-n+1)+n); return random; } //页面全部元素加载完毕后执行drawRouletteWheel()方法对转盘进行渲染 window.onload=function(){ drawRouletteWheel(); }; function drawRouletteWheel() { var canvas = document.getElementById("wheelcanvas"); if (canvas.getContext) { //根据奖品个数计算圆周角度 var arc = Math.PI / (turnplate.restaraunts.length/2); var ctx = canvas.getContext("2d"); //在给定矩形内清空一个矩形 ctx.clearRect(0,0,422,422); //strokeStyle 属性设置或返回用于笔触的颜色、渐变或模式 ctx.strokeStyle = "#FFBE04"; //font 属性设置或返回画布上文本内容的当前字体属性 ctx.font = '16px Microsoft YaHei'; for(var i = 0; i < turnplate.restaraunts.length; i++) { var angle = turnplate.startAngle + i * arc; ctx.fillStyle = turnplate.colors[i]; ctx.beginPath(); //arc(x,y,r,起始角,结束角,绘制方向) 方法建立弧/曲线(用于建立圆或部分圆) ctx.arc(211, 211, turnplate.outsideRadius, angle, angle + arc, false); ctx.arc(211, 211, turnplate.insideRadius, angle + arc, angle, true); ctx.stroke(); ctx.fill(); //锁画布(为了保存以前的画布状态) ctx.save(); //----绘制奖品开始---- ctx.fillStyle = "#E5302F"; var text = turnplate.restaraunts[i]; var line_height = 17; //translate方法从新映射画布上的 (0,0) 位置 ctx.translate(211 + Math.cos(angle + arc / 2) * turnplate.textRadius, 211 + Math.sin(angle + arc / 2) * turnplate.textRadius); //rotate方法旋转当前的绘图 ctx.rotate(angle + arc / 2 + Math.PI / 2); /** 下面代码根据奖品类型、奖品名称长度渲染不一样效果,如字体、颜色、图片效果。(具体根据实际状况改变) **/ if(text.indexOf("M")>0){//流量包 var texts = text.split("M"); for(var j = 0; j<texts.length; j++){ ctx.font = j == 0?'bold 20px Microsoft YaHei':'16px Microsoft YaHei'; if(j == 0){ ctx.fillText(texts[j]+"M", -ctx.measureText(texts[j]+"M").width / 2, j * line_height); }else{ ctx.fillText(texts[j], -ctx.measureText(texts[j]).width / 2, j * line_height); } } }else if(text.indexOf("M") == -1 && text.length>6){//奖品名称长度超过必定范围 text = text.substring(0,6)+"||"+text.substring(6); var texts = text.split("||"); for(var j = 0; j<texts.length; j++){ ctx.fillText(texts[j], -ctx.measureText(texts[j]).width / 2, j * line_height); } }else{ //在画布上绘制填色的文本。文本的默认颜色是黑色 //measureText()方法返回包含一个对象,该对象包含以像素计的指定字体宽度 ctx.fillText(text, -ctx.measureText(text).width / 2, 0); } //添加对应图标 if(text.indexOf("闪币")>0){ var img= document.getElementById("shan-img"); img.onload=function(){ ctx.drawImage(img,-15,10); }; ctx.drawImage(img,-15,10); }else if(text.indexOf("谢谢参与")>=0){ var img= document.getElementById("sorry-img"); img.onload=function(){ ctx.drawImage(img,-15,10); }; ctx.drawImage(img,-15,10); } //把当前画布返回(调整)到上一个save()状态以前 ctx.restore(); //----绘制奖品结束---- } } } </script> </head> <body class="keBody"> <span style="display: none">var score = ${score }</span> <h1 class="keTitle">话费抽奖</h1> <div class="kePublic"> <!--效果html开始--> <div style="max-width: 800px; margin: 0 auto"> <img src="images/1.png" id="shan-img" style="display: none;" /> <img src="images/2.png" id="sorry-img" style="display: none;" /> <div class="banner"> <div class="turnplate" style="background-image: url(images/turnplate-bg.png); background-size: 100% 100%;"> <canvas class="item" id="wheelcanvas" width="422px" height="422px"></canvas> <img class="pointer" src="images/turnplate-pointer.png" /> </div> </div> </div> </body> </html>
UserPrize:sql
package com.bt.action; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.sql.PreparedStatement; import java.sql.ResultSet; public class UserPrize extends HttpServlet{ private final String URL = "jdbc:mysql://120.77.200.159:3306/fzbl"; private final String UNAME = "root"; private final String PWD = "RM+jt@#201710"; private Connection conn = null; public UserPrize() { try{ Class.forName("com.mysql.jdbc.Driver"); // 2.������ݿ������ conn = DriverManager.getConnection(URL, UNAME, PWD); }catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } /** * */ private static final long serialVersionUID = 1L; /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to * post. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ @SuppressWarnings("static-access") public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String userName = (String) request.getSession().getAttribute("username"); String price=(String)request.getParameter("price"); String phone=request.getParameter("phone"); PreparedStatement ptmt; PreparedStatement ptmt1; try { String sql = "update fzbl.s_user set userPrize = ?,phone=? where userName = ?"; ptmt = conn.prepareStatement(sql); ptmt.setString(3, userName); ptmt.setString(1, price); ptmt.setString(2, phone); ptmt.execute(); ptmt.close(); if(price!="未中奖") { String sql1 = "update prize set number = number-1 where price = ?"; ptmt1 = conn.prepareStatement(sql1); ptmt1.setString(1, price); ptmt1.execute(); ptmt1.close(); }else { String sql1 = "update prize set number = number-1 where price = ?"; ptmt1 = conn.prepareStatement(sql1); ptmt1.setString(1, "weizhongjiang"); ptmt1.execute(); ptmt1.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
UserScore:
package com.bt.action; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.sql.PreparedStatement; import java.sql.ResultSet; public class UserScore { private final String URL = "jdbc:mysql://120.77.200.159:3306/fzbl"; private final String UNAME = "root"; private final String PWD = "RM+jt@#201710"; private Connection conn = null; public UserScore() { try { Class.forName("com.mysql.jdbc.Driver"); // 2.������ݿ������ conn = DriverManager.getConnection(URL, UNAME, PWD); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } /** * */ private static final long serialVersionUID = 1L; /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ @SuppressWarnings("static-access") public boolean doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String userName = (String) request.getSession().getAttribute("username"); PreparedStatement ptmt; String sql1 = "select * from fzbl.s_user where userName = ?"; try { ptmt = conn.prepareStatement(sql1); ptmt.setString(1, userName); ResultSet result = ptmt.executeQuery(); if (result.next() != false) { ptmt.close(); return false; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } int score = (int) request.getAttribute("score"); String sql = "insert into s_user(userName,score) values(?,?)"; try { ptmt = conn.prepareStatement(sql); ptmt.setString(1, userName); ptmt.setInt(2, score); ptmt.execute(); ptmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return true; } }
GetPrice:
package com.bt.action; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.sql.PreparedStatement; import java.sql.ResultSet; public class GetPrice extends HttpServlet{ private final String URL = "jdbc:mysql://120.77.200.159:3306/fzbl"; private final String UNAME = "root"; private final String PWD = "RM+jt@#201710"; private Connection conn = null; public GetPrice() { try { Class.forName("com.mysql.jdbc.Driver"); // 2.������ݿ������ conn = DriverManager.getConnection(URL, UNAME, PWD); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } /** * */ private static final long serialVersionUID = 1L; /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred * @throws SQLException */ @SuppressWarnings("static-access") public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { String userName = (String) request.getSession().getAttribute("username"); PreparedStatement ptmt; String sql1 = "select userPrize from fzbl.s_user where userName = ?"; try { ptmt = conn.prepareStatement(sql1); ptmt.setString(1, userName); ResultSet result = ptmt.executeQuery(); if (result.next() != false) { Object int1 = result.getObject("userPrize"); if(int1==null) { int1="1"; } PrintWriter out = response.getWriter(); System.err.println(int1); out.println(int1); ptmt.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
package com.bt.action; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.sql.PreparedStatement; import java.sql.ResultSet; public class GetPercent extends HttpServlet{ private final String URL = "jdbc:mysql://120.77.200.159:3306/fzbl"; private final String UNAME = "root"; private final String PWD = "RM+jt@#201710"; private Connection conn = null; public GetPercent() { try { Class.forName("com.mysql.jdbc.Driver"); // 2.������ݿ������ conn = DriverManager.getConnection(URL, UNAME, PWD); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } /** * */ private static final long serialVersionUID = 1L; /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred * @throws SQLException */ @SuppressWarnings("static-access") public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { String price=request.getParameter("price"); PreparedStatement ptmt2; String sql2 = "select number from prize where price = ?"; try { ptmt2 = conn.prepareStatement(sql2); ptmt2.setString(1, price); ResultSet result = ptmt2.executeQuery(); while(result.next()) { response.getWriter().print(result.getInt("number")); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }