简单的登陆注册练习1 登陆

主页

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

注册页面

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'reg.jsp' starting page</title>

</head>

<body>
    <form action="${pageContext.request.contextPath }/Zhuce" method="post">

        <table border="1" align="center">
            <tr>
                <td>用户名</td>
                <td><input name="username"></td>${name}
            </tr>
            <tr>
                <td>密码</td>
                <td><input type="password" name="password"></td>${pwd }
            </tr>
            <tr>
                <td>确认密码</td>
                <td><input type="password" name="repassword"></td>${repwd }
            </tr>
            <tr>
                <td>生日</td>
                <td><input name="birthday"></td>
            </tr>
            <tr>
                <td>简介</td>
                <td><input name="jj"></td>
            </tr>
            <tr>
                <td><input type="submit" value="注册"></td>
                <td><input type="reset" value="取消"></td>
                <%--<td><a href="${pageContext.request.contextPath }/index.jsp">退出</a></td>
            --%>
            </tr>
        </table>
    </form>
</body>
</html>

注册servlet

这里写代码片
```package cn.servlet;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.dom4j.DocumentException;

import sun.security.util.Password;

import cn.itheimadomain.User1;
import cn.service.User1service;

public class Zhuce extends HttpServlet {

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

        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 得到提交的数据进行封装到userBean 中
        // post 设置请求编码
        request.setCharacterEncoding("utf-8");
        // 前端校验
        String name = request.getParameter("username");
        String pwd = request.getParameter("password");
        String repwd = request.getParameter("repassword");

        if (!name.matches("\\w{3,6}")) {
            request.setAttribute("name", "用户名不符合要求");
            request.getRequestDispatcher("/reg.jsp").forward(request, response);

            return;
        }
        if (!pwd.matches("\\w{3,6}")) {
            request.setAttribute("pwd", "密码不符合要求");
            request.getRequestDispatcher("/reg.jsp").forward(request, response);
            return;
        }
        if (!pwd.equals(repwd)) {
            request.setAttribute("repwd", "2个密码不一样");
            request.getRequestDispatcher("/reg.jsp").forward(request, response);
            return;
        }

        User1 u = new User1();

        try {
            // 注册一个日期转换器 自定义 类实现Converter 接口
            ConvertUtils.register(new myconver(), Date.class);
            BeanUtils.populate(u, request.getParameterMap());
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }

        // 校验封装成功没有

        Map<String, String> map = u.getmap();
        if(map.size()>0) {//说明有错误信息
            request.setAttribute("cuo", map);
            request.getRequestDispatcher("/reg.jsp").forward(request, response);
            return;
        }

        // 执行添加操作
        User1service us = new User1service();

        try {
            us.add(u);
            // 注册成功
            // 跳转到登陆页面
            response.sendRedirect(request.getContextPath() + "/denglu.jsp");

        } catch (DocumentException e) {
            e.printStackTrace();
            // 走这里添加失败 请求转发回去注册页面提示错误
            request.setAttribute("zc", "注册失败");
            request.getRequestDispatcher("/reg.jsp").forward(request, response);

        }

    }

}

中转站service





<div class="se-preview-section-delimiter"></div>

这里写代码片
“`

package cn.service;

import org.dom4j.DocumentException;

import cn.dao.User1dao;
import cn.itheimadomain.User1;

public class User1service {

    public void add(User1 u) throws DocumentException {
        User1dao ud = new User1dao();
            ud.add(u);
    }

    public User1 find(String name, String pwd) {
        User1dao ud = new User1dao();
    User1   u=ud.find(name,pwd);

        return u;
    }

}

操作数据层dao

package cn.dao;

import java.util.Date;
import java.util.List;

import org.apache.commons.beanutils.converters.DateConverter;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

import cn.itheimadomain.User1;
import cn.util.Datecon;
import cn.util.Dom4jutil;

public class Userdao {

    public void add(User1 u) {

        //写入xml
        Document document = Dom4jutil.getdoc("c:/tt/Xml.xml");
        StringBuilder sb = new StringBuilder();
        sb.append("<usr>").append("<username>").append(u.getUsername()).append("</username>");
        sb.append("<password>").append(u.getPassword()).append("</password>");
        sb.append("<brithday>").append(Datecon.DateToS(u.getBirthday())).append("</brithday>");
        sb.append("<jj>").append(u.getJj()).append("</jj>");

        sb.append("</usr>");
        try {
            Document text = DocumentHelper.parseText(sb.toString());
            Element root = document.getRootElement();
            root.add(text.getRootElement());

        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 



        Dom4jutil.writedoc(document, "c:/tt/Xml.xml");

    }

    public User1 find(String username, String password) {
        Document document = Dom4jutil.getdoc("c:/tt/Xml.xml");

        Element root = document.getRootElement();

        List<Element> list = root.elements();
        User1 u =null;
        for (Element e : list) {
            String name =e.elementText("username");
            String pwd =e.elementText("password");
            if(name.equals(username)&&pwd.equals(password)) {
                u = new User1();
                u.setUsername(name);
                u.setJj(e.elementText("jj"));
                String s1=e.elementText("brithday");
                Date date = Datecon.Stringtod(s1);
                u.setBirthday(date);
            }

        }



        return u;
    }

}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值