您的位置:首页 > 移动开发 > 微信开发

一个注册登录页面

2016-09-03 15:17 405 查看
由于这个路径没有写死,都是相对路径,所以重用性高。

包com.wanhao.dao

  Dao.java

package com.wanhao.dao;

import java.io.File;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class Dao extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        System.out.println(request.getContextPath());
        System.out.println(request.getServletPath());
        System.out.println(request.getRequestURI());
        System.out.println(request.getRealPath("/"));
        
        String nickname=request.getParameter("nickname");  

        DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();  
        DocumentBuilder db=null;
        try {
            db = dbf.newDocumentBuilder();
        } catch (ParserConfigurationException e) {
                  System.out.println("4");    
                  e.printStackTrace();
        }  
        Document d=null;
        try {
            d = db.parse(new File(request.getRealPath("/")+"/WEB-INF/classes/com/wanhao/dao/db.xml"));
        } catch (SAXException e) {
              System.out.println("2");
            e.printStackTrace();
        }  
        Element root=d.getDocumentElement();  

        NodeList list=d.getElementsByTagName("user");  

        for(int  n=0;n<list.getLength();++n)  
        {  
            Element no= (Element) list.item(n);  
            if(no.getAttribute("nickname").equals(nickname))
            {
                request.setAttribute("Message", "此昵称已存在");
                request.getRequestDispatcher("/register.jsp" ).forward(request, response);
                return ;
            }
        }   
        Element user=d.createElement("user");
        user.setAttribute("nickname", nickname);
        user.setAttribute("username", request.getParameter("username"));
        user.setAttribute("password",request.getParameter("password"));
        root.appendChild(user);
        
        try {
            String path=request.getRealPath("/")+"/WEB-INF/classes/com/wanhao/dao/db.xml";
            DaoUtils.UpdateXML(d,path);
        } catch (TransformerException e) {
              System.out.println("3");
            e.printStackTrace();
        }
        request.setAttribute("Message", "注册成功");
        request.getRequestDispatcher("/register.jsp" ).forward(request, response);
        return ;
        
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }
}
Daologin.java
package com.wanhao.dao;

import java.io.File;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class Daologin extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
         String username=request.getParameter("username");  
        String password=request.getParameter("password");
            DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();  
            DocumentBuilder db=null;
            try {
                db = dbf.newDocumentBuilder();
            } catch (ParserConfigurationException e) {
                      System.out.println("4");    
                      e.printStackTrace();
            }  
            Document d=null;
            try {
                d = db.parse(new File(request.getRealPath("/")+"/WEB-INF/classes/com/wanhao/dao/db.xml"));
            } catch (SAXException e) {
                  System.out.println("2");
                e.printStackTrace();
            }  
            NodeList list=d.getElementsByTagName("user");          
            for(int  n=0;n<list.getLength();++n)  
            {  
                Element no= (Element) list.item(n);  
                if(no.getAttribute("username").equals(username)&&no.getAttribute("password").equals(password))
                {
                    System.out.println("找到了用户"+username);
                    request.setAttribute("Message", "欢迎您 , "+no.getAttribute("nickname"));
                    request.getRequestDispatcher("/Main.jsp" ).forward(request, response);
                    return ;
                }
            }   
            request.setAttribute("Error", "对不起此用户不存在");
            request.getRequestDispatcher("/login.jsp" ).forward(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}
DaoUtils.java

package com.wanhao.dao;

import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
 
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;  
import javax.xml.transform.Transformer;  
import javax.xml.transform.TransformerException;  
import javax.xml.transform.TransformerFactory;  
import javax.xml.transform.dom.DOMSource;  
import javax.xml.transform.stream.StreamResult;  
 
import org.w3c.dom.Document;  
 
public class DaoUtils {  
    public static void UpdateXML(Document dom,String path) throws TransformerException, FileNotFoundException  
    {  
        TransformerFactory  tf=TransformerFactory.newInstance();  
        Transformer tr=tf.newTransformer();  
         tr.transform(new DOMSource(dom), new StreamResult(new File(path)) );  
    }  
}     


login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'login.jsp' starting page</title>
  </head>
  
  <body>
  ${Error}
  <form    action="${pageContext.request.contextPath}/servlet/Daologin"  method="post">
    学号:<input type="text" name="username">
    密码 : <input type="password" name="password"> 
    <input type="submit"    name="登录">
   </form> 
   
  </body>
</html>
Main.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Main.jsp' starting page</title>
</head>

<body>
<h1>XXXX网站登录界面</h1>

${Message}
<a href="${pageContext.request.contextPath}/register.jsp">注册</a>
<a href="${pageContext.request.contextPath}/login.jsp">登录</a>

</body>
</html>
register.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'register.jsp' starting page</title>
  </head>
  
  <body>
    请填写以下注册信息
    <form method="post"  action="${pageContext.request.contextPath}/servlet/Dao">
    学号:<input type="text" name="username"><br/>
    密码:<input type="password" name="password"><br/>
    昵称:<input type="text" name="nickname"><br/>
    <input type="submit"  name="提交">
    </form>
        ${Message}
  </body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  小程序 java应用