⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 members.java

📁 wap push功能程序 WAP开发网 : http://www.wapkf.com
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package members;import push.Birthday;import push.PushService;import push.PushInitiator;import push.User;import feedback.Feedback;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import java.sql.*;import java.net.InetAddress;import java.net.URL;/** * Members login * * @see HttpServlet */public final class Members extends HttpServlet {    private static final String XML_VERSION = "<?xml version=\"1.0\"?>";    private static final String CONTENT_TYPE = "text/vnd.wap.wml";    private static final String DOC_TYPE = "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\"\n" +	"  \"http://www.wapforum.org/DTD/wml_1.1.xml\">";    private static Connection con;    private static Statement stmt = null;    private static String membersFile = null;    private static final String HOME_PAGE = "/index.jsp";    private static final String ADMIN_NAME = "admin";    /* push initiator */    private static PushInitiator pusher = null;    /* push proxy gateway url */    private static String ppgUrl = null;    private static String authorization = null;    /* push services */    private static Vector pushServices = new Vector();     private static Birthday birthdayChecker = null;    private static PushService pushServiceServer = null;    private static String pushSupportFile = null;     private static String pushAddressType = null;    /**     * This is the initialization code that runs only once.     * The servlet is being placed into service.     *     * @exception ServletException if an error occurs     */    public void init() throws ServletException {	String pushServiceStr = getInitParameter("pushservices");	StringTokenizer st = new StringTokenizer(pushServiceStr, ";");	String[] service;	while(st.hasMoreTokens()) {	    try {		service = new String[2];		service[0] = st.nextToken().trim();		service[1] = st.nextToken().trim();		pushServices.add(service);	    }	    catch (Exception e) {		System.err.println(e); break;	    }	}	// check, if proxy is set	boolean useProxy = new Boolean(getInitParameter("use-proxy")).booleanValue();	if(useProxy) {	    // HTTP connections via a proxy server	    String proxyHost = getInitParameter("proxy-host");	    String proxyPort = getInitParameter("proxy-port");	    System.setProperty("http.proxySet", "true");	    System.setProperty("http.proxyHost", proxyHost);	    System.setProperty("http.proxyPort", proxyPort);	}	try {	    Class.forName(getInitParameter("dbdriver"));	    con = DriverManager.getConnection(getInitParameter("database"), 					      getInitParameter("dbuser"), getInitParameter("dbuserpasswd"));	    stmt = con.createStatement();	    try {		stmt.executeUpdate("CREATE TABLE IF NOT EXISTS members (name VARCHAR(10) NOT NULL, passwd VARCHAR(10), dob VARCHAR(10), sex CHAR(1), email VARCHAR(30), phone VARCHAR(15), pushservices VARCHAR(20), PRIMARY KEY (name))");	    }	    catch (SQLException e) { System.err.println(e); }	}	catch (Exception ex){	    ex.printStackTrace();	}	/* Create a push initiator, used to initiate push messages */	ppgUrl = getInitParameter("ppg-url");	/* Some ppgs require authorization */	authorization = getInitParameter("authorization");	pushSupportFile = getInitParameter("pushsupport");	pushSupportFile = getServletContext().getRealPath(pushSupportFile);	/* Get push address type. It is either "IPv4" (default) or "PLMN". */	pushAddressType = getInitParameter("push-addresstype");	if(pushAddressType == null) pushAddressType = "IPv4";    }    /**     * Called by the server to allow a servlet to handle a GET request.      *     * @param request a <code>HttpServletRequest</code> value     * @param response a <code>HttpServletResponse</code> value     * @exception ServletException if an error occurs     * @exception IOException if an error occurs     */    public void doGet(HttpServletRequest request, HttpServletResponse response) 	throws ServletException, IOException {	doPost(request, response);    }    /**     * Called by the server to allow a servlet to handle a POST request.     *     * @param request a <code>HttpServletRequest</code> value     * @param response a <code>HttpServletResponse</code> value     * @exception ServletException if an error occurs     * @exception IOException if an error occurs     */    public void doPost(HttpServletRequest request, HttpServletResponse response) 	throws ServletException, IOException {        HttpSession session = request.getSession();	boolean cookiesCheck = request.getHeader("cookie") != null && request.isRequestedSessionIdValid();	final String jsessionID = cookiesCheck ? "" : ";jsessionid=" + session.getId();	/* Request parameter "action" has one of the following values:	   - "login"	   - "new"	   - "checkin"	   - "change"	   - "delete"	   - "view"	   - "update"	   - "insert"	*/	String action = request.getParameter("action");	if(action == null) action = "login"; // default action	String name = null;	String passwd = null; 	String dob = null;	String sex = null;	String email = null;	String phone = null;	String pushservices = null;	if(action.equals("new") || action.equals("update") || 	   action.equals("insert") || action.equals("checkin")) {	    name = action.equals("update") ? (String)session.getAttribute("name") : request.getParameter("name");	    passwd = request.getParameter("passwd");	    dob = request.getParameter("dob");	    sex = request.getParameter("sex");	    email = request.getParameter("email");	    phone = request.getParameter("phone");	    pushservices = request.getParameter("pushservices");	}	else { // set values from the session attributes	    name = (String)session.getAttribute("name");	    passwd = (String)session.getAttribute("passwd");	    dob = (String)session.getAttribute("dob");	    sex = (String)session.getAttribute("sex");	    email = (String)session.getAttribute("email");	    phone = (String)session.getAttribute("phone");	    pushservices = (String)session.getAttribute("pushservices");	}	// check if the client device supports WAP push */	boolean isPushSupported = pushSupported(request);	// assing a push-info object into session information of the user */	if(name != null) {	    if(session.getAttribute("push-info") == null && isPushSupported)		session.setAttribute("push-info", new User(name, request.getRemoteAddr()));	}	if(pusher == null) {	    try {		URL contextRoot = new URL("http://" + request.getServerName() + ":" + 		    request.getServerPort() + request.getContextPath() + "/");		pusher = new PushInitiator(new URL(contextRoot, ppgUrl), authorization);	    }	    catch (Exception e) { System.err.println(e); }	}	/* Create a members' birthday checker thread. A push message is sent when the birthday of a member is 	   approaching */ 	if(birthdayChecker == null) {	    birthdayChecker = new Birthday(pusher, "http://" + request.getServerName() + ":" + 					   request.getServerPort() + request.getContextPath() + HOME_PAGE, 					   pushAddressType);	    new Thread(birthdayChecker).start();	}	/* Create a push service server thread. The thread sends push messages to users. 	   A user will receive push messages if he/she has selected any push services. */	if(pushServiceServer == null) {	    pushServiceServer = new PushService(pusher, "http://" + request.getServerName() + ":" + 						request.getServerPort() + request.getContextPath(),						pushAddressType, 24);	    new Thread(pushServiceServer).start();	}	// start generating the response ...        response.setContentType(CONTENT_TYPE);	// prevent caching of the response	response.setHeader("cache-control", "no-cache");	PrintWriter out = response.getWriter();	out.println(XML_VERSION);	out.println(DOC_TYPE);	out.println("<wml>");	out.println("<!-- provides a way back using the prev element -->\n" +		    "<template>" +		    " <do type=\"prev\">" + 		    "  <prev/>" +		    " </do>" +		    "</template>");	/* Handle the "login" action */	if(action.equals("login")) {	    if(name == null) {		out.println("<card title=\"Members\" id=\"login1\">" + 			    " <p>Name: <input name=\"name\"/>" + 			    "Password: <input type=\"password\" name=\"passwd\"/><br/>" + 			    "  <anchor title=\"Ok\">Ok" + 			    "   <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID + "\">" +			    "    <postfield name=\"name\" value=\"$(name)\"/>" +			    "    <postfield name=\"passwd\" value=\"$(passwd)\"/>" +			    "    <postfield name=\"action\" value=\"checkin\"/>" +			    "   </go>" +			    "  </anchor><br/>" +			    "  <anchor title=\"New member\">New member" +			    "   <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID + "\">" +			    "     <postfield name=\"action\" value=\"new\"/>" +			    "   </go>" + 			    "  </anchor>" +			    " </p>" +			    " <do type=\"accept\" label=\"Ok\" name=\"1\">" +			    "  <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID + "\">" +			    "   <postfield name=\"name\" value=\"$(name)\"/>" +			    "   <postfield name=\"passwd\" value=\"$(passwd)\"/>" +			    "   <postfield name=\"action\" value=\"checkin\"/>" +			    "  </go>" +			    " </do>" +			    " <do type=\"accept\" label=\"New member\" name=\"5\">" +			    "  <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID +"\">" +			    "   <postfield name=\"action\" value=\"new\"/>" +			    "  </go>" +			    " </do>" +			    "</card>");	    }	    else {   // name != null		out.println("<card title=\"Members\" id=\"login\">" + 			   " <p>Next weekend all members can enjoy a free snack at the Safari restaurant<br/>" +			   "  <anchor title=\"My membership\">My membership" +			   "   <go href=\"#membership\"/>" +			   "  </anchor></p>" +			   "</card>");		out.println("<card title=\"My membership\" id=\"membership\">" +			    " <p>Member name:&#160; <strong>" + name + "</strong><br/>" +			    "  <anchor title=\"View\">View info" +			    "   <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID + "\">" +			    "    <postfield name=\"action\" value=\"view\"/>" + 			    "   </go>" +			    "  </anchor><br/>" +			    "  <anchor title=\"Change\">Edit" +			    "   <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID + "\">" +			    "    <postfield name=\"action\" value=\"change\"/>" +			    "   </go>" +			    "  </anchor><br/>" +			    "  <anchor title=\"End membership\">End membership" +			    "   <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID + "\">" +			    "    <postfield name=\"action\" value=\"delete\"/>" +			    "   </go>" +			    "  </anchor>" +			    " </p>" +			    " <do type=\"accept\" label=\"View info\" name=\"3\">" +			    "  <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID + "\">" +			    "   <postfield name=\"action\" value=\"view\"/>" +			    "  </go>" +			    " </do>" +			    " <do type=\"accept\" label=\"Edit\" name=\"4\">" +			    "  <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID + "\">" +			    "   <postfield name=\"action\" value=\"change\"/>" +			    "  </go>" +			    " </do>" +			    " <do type=\"accept\" label=\"End membership\" name=\"2\">" +			    "  <go method=\"post\" href=\"" + request.getRequestURI() + jsessionID + "\">" +			    "   <postfield name=\"action\" value=\"delete\"/>" +			    "  </go>" +			    " </do>" +			    "</card>");	    }	} 	// View member information. 	// The "action" request parameter "action" has the value "view". 	else if(action.equals("view")) {	    out.println("<card title=\"View\" id=\"view\">" +			" <p>Date of birth: " + dob + "<br/>" +			"Sex: " + sex + "<br/>" +

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -