草草搞了个SERVLET的注册登陆功能

按书来的,学习阶段,一切都好新奇。。至少对比于DJANGO,好像复杂点点,但HTTP的东东,是相通的哈。

package cc.openhome.controller;

import java.io.*;
import java.util.*;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Register
 */
@WebServlet("/register.do")
public class Register extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private final String USERS = "C:/Users/sahara/workspace/Gossip/users";
    private final String SUCCESS_VIEW = "success.view";
    private final String ERROR_VIEW = "error.view";

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Register() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String email = request.getParameter("email");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String confirmedPasswd =
                request.getParameter("confirmedPasswd");

        List<String> errors = new ArrayList<String>();
        if (isInvalidEmail(email)) {
            errors.add("no email or invalid email");
        }
        if (isInvalidUsername(username)) {
            errors.add("username is empty or has existed");
        }
        if (isInvalidPassword(password, confirmedPasswd)) {
            errors.add("please comfirm password again");
        }
        String resultPage = ERROR_VIEW;
        if(!errors.isEmpty()) {
            request.setAttribute("errors", errors);
        } else {
            resultPage = SUCCESS_VIEW;
            createUserData(email, username, password);
        }
        request.getRequestDispatcher(resultPage).forward(request, response);

    }

    private boolean isInvalidEmail(String email){
        return email == null||
                !email.matches("^[_a-z0-9-]+([.][_a-z0-9-]+)*@[_a-z0-9-]+([.][_a-z0-9-]+)*$");
    }

    private boolean isInvalidUsername(String username) {
        for (String file : new File(USERS).list()) {
            if (file.equals(username)) {
                return true;
            }
        }
        return false;
    }

    private boolean isInvalidPassword(String password,
            String comfirmedPasswd) {
        return false;
    }

    private void createUserData(String email, String username, String password) throws IOException {
        File userhome = new File(USERS + "/" + username);
        userhome.mkdir();
        BufferedWriter writer = new BufferedWriter(
                new FileWriter(userhome + "/profile"));
        writer.write(email + "\t" + password);
        writer.close();
    }

}

时间: 2024-10-04 16:52:43

草草搞了个SERVLET的注册登陆功能的相关文章

Struts2和hibernate框架整合实现简单的注册登陆功能

Struts2和hibernate框架整合实现简单的注册登陆功能 项目结构: LoginAction.java package action; import vo.User; import vo.UserDAO; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { /** * */ private static final long serialVersion

jsp+servlet实现最基本的注册登陆功能

源码和数据库下载地址:http://download.csdn.net/detail/biexiansheng/9759722 1:首先需要设计好数据库和数据表,这里简单截图说明我创建的字段和类型. 2:进入正题,开始开发前台和后台代码.首先创建一个动态web工程,然后先创建一个实体类. 1 package com.bie.po; 2 /** 3 * @author BieHongLi 4 * @version 创建时间:2017年2月21日 上午9:59:03 5 * 用户的实体类 6 */

servlet-做一个无界面实现注册登陆的功能,求指教?

问题描述 做一个无界面实现注册登陆的功能,求指教? java里用Servlet实现登陆.注册不带界面设计的功能. 我在web.xml文件中已经配置好浏览器地址,也弄好了数据库连接以及创建列表.封装列表等内容. 注册的添加数据方法用jdbc的添加也已实现. 现在问题是当登录时在浏览器地址栏中赋值用户名密码时,浏览器网页报错,Eclipse里的代码都没有语法错误,只是后续运行效果出不来,我把注册添加数据返回数据库进行存储和循环遍历查询整个数据库的方法都做好了,唯独效果出不来,怎么办,求大神指教? 解

安卓获取验证码-实现登陆注册验证码功能

问题描述 实现登陆注册验证码功能 做安卓端的,现在要实现登陆注册功能,登陆时有验证码,大神发个源码让我学习学习吧?出入职场的菜鸟一枚 解决方案 http://www.jb51.net/article/54344.htm 解决方案二: 登陆验证码-----实现验证码的获取和注册功能的代码实现如何在struts2中实现登陆的验证码功能

数据-最近在做登陆注册的功能,然后开始与服务器对接的时候遇到问题了

问题描述 最近在做登陆注册的功能,然后开始与服务器对接的时候遇到问题了 我的登陆注册界面都实现了,而且如果数据保存在本地登陆注册也能实现,接下来就是如果我要与服务器对接,通过注册界面把数据传给服务器,然后登陆界面登陆发送请求在服务器里面验证是否存在用户,这个功能应该具体怎么实现呢? 解决方案 很简单,用web service实现.数据保存在服务器,不需要放在本地.你用的语言是什么 解决方案二: 参考:http://download.csdn.net/download/wangting/68967

JAVA简单链接Oracle数据库 注册和登陆功能的实现代码_java

复制代码 代码如下: //User 用户的基本信息,也是USERINFO表中的3个列package 登陆判断; public class User {   private String name;  private String loginname;  private String loginpsw;  public String getName() {   return name;  }  public void setName(String name) {   this.name = nam

使用PHP会话(Session)实现用户登陆功能

对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用. 由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多. 对 于 Cookie 来说,假设我们要验证用户是否登陆,就必须在 Cookie 中保存用户

微信内侧微信登陆功能和UnionID机制 暴露“连接一切”的野心

6月27日,微信同时开放微信登陆功能的内测和UnionID机制,当前,很 多人还不知具体情况,我做下个人的阐释: 微信登陆功能,拥有微信支付权限的移动应用(App和游戏)和网站,可以申请微信登陆权限.这在我们玩微信游戏时就可以体验到微信登陆功能,在此之前微信登陆功能只开放给"国家队",从现在开始也会逐渐开放给其他第三方移动应用和网站. UnionID机制,官方的解释是: 通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息,而如果开发者拥有多个公众号,可使用以下办法通过

从零开始编写自己的C#框架(15)——Web层后端登陆功能

原文:从零开始编写自己的C#框架(15)--Web层后端登陆功能 对于一个后端管理系统,最重要内容之一的就是登陆页了,无论是安全验证.用户在线记录.相关日志记录.单用户或多用户使用帐号控制等,都是在这个页面进行处理的.   1.在解决方案中创建一个Web项目,并将它设置为启动项   2.添加引用   3.添加WebManage文件夹与Login.aspx文件 4.添加登陆页面HTML代码 1 <%@ Page Language="C#" AutoEventWireup="