jsp练习 MVC (注册登录)

程序小白,希望和大家多交流,共同学习
这里写图片描述

package userms.controller;

import userms.model.Service;
import userms.model.User;

import java.io.IOException;
import java.io.PrintWriter;

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

public class LoginRegisterServlet extends HttpServlet
{
    private Service service;

    public LoginRegisterServlet()
    {
        service = new Service();
    }

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

    public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException
    {
        request.setCharacterEncoding("gb2312");//接收从jsp提交的信息,因为是汉字,需要城重新定义编码格式
        //1.接收用户名和密码
        String username = (String)request.getParameter("username");
        String password = (String)request.getParameter("password");
        String action = (String)request.getParameter("action");//submit提交的内容,表示注册或登录

        System.out.println(username + " " + password + " " + action);
        //2.调用服务器
        User user = new User(username, password);

        boolean succ = false;
        if (action.equals("登录"))
        {
            succ = service.login(user);
        }
        else if (action.equals("注册"))
        {
            succ = service.register(user);
        }

        //3.重定向转向表示层
        String msg = "";
        if (succ)
        {
            msg = "恭喜" + username + action + "成功!";
        }
        else
        {
            msg = "抱歉" + username + action + "失败!";
        }
        System.out.println(action);
        HttpSession session = request.getSession(true);
        session.setAttribute("msg", msg);//在一个会话中存储信息,内容是字符串msg,名字是msg
        response.sendRedirect("showmsg.jsp");
    }
}
package userms.model;

public class Service
{
    private User[] userdb;
    private int users;

    public Service()
    {
        userdb = new User[10];
        userdb[0] = new User("bbc", "526");
        userdb[1] = new User("abc", "abc");

        users = 2;
    }

    public boolean login(User user)
    {
        for (int i = 0; i < users; i++)
        {
            if (userdb[i].getUsername().equals(user.getUsername()) &&
                userdb[i].getPassword().equals(user.getPassword()))
            {
                return true;
            }
        }

        return false;
    }

    public boolean register(User user)  
    {
        if (login(user))
        {
            return false;
        }
        userdb[users] = user;
        users++;
        return true;
    }
}
package userms.model;

public class User
{
    private String username;
    private String password;

    public User()
    {
    }
    public User(String username, String password)
    {
        this.username = username;
        this.password = password;
    }
    public String getUsername()
    {
        return username;
    }
    public String getPassword()
    {
        return password;
    }
}
<%@ page language="java" contentType="text/html; charset=GB2312" %>  
<html>
    <head> 
        <title>MVC模式的注册登录系统</title>
        <style type="text/css">
            form,h1{
                text-align:center;
                color:#3366ff;
            }
        </style>
    </head>
    <body>
        <h1>MVC模式的注册登录系统</h1>
        <hr />
        <br />
        <form action="userms.action" method="post">
            用户名:<input type="text" name="username" /><br />
            密&nbsp;&nbsp;&nbsp;码:<input type="text" name="password" /><br/>
            <input type="submit" value="注册" name="action" /><!--两个按钮,同一个名字,不同值-->
            <input type="submit" value="登录" name="action" />
        </form>
    </body>
</html>
<%@ page language="java" contentType="text/html; charset=GB2312" %> 
<html>
    <head>
        <title>MVC模式的注册登录系统</title>
        <style type="text/css">
            body{
                text-align:center;
                color:#0066ff;
            }
        </style>
    </head>
    <body>
        <h1>MVC模式的注册登录系统</h1>
        <hr />
        <br />
        <%= (String)session.getAttribute("msg")%>
        <a href="index.jsp">返回继续</a>
    </body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0" metadata-complete="true">

    <servlet>
        <servlet-name>userms</servlet-name>
        <servlet-class>userms.controller.LoginRegisterServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>userms</servlet-name>
        <url-pattern>/userms.action</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值