Servlet学习笔记(模拟登录)

MVC设计思想

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。

MVC设计思想主要用于表现层,准确来说 MVC 是以页面为核心,将表现层分为模型、视图、控制器三部分,是基于界面开发的指导思想。

表现层负责用户界面的交互,表现层不能直接访问数据。业务层负责数据的传递和业务方法的处理,业务层不能直接访问数据库,而是要通过数据访问层提供的接口实现数据的调用。数据访问层负责数据的处理工作,封装了所有与数据库的交互操作。

在模拟登录的情形下同样使用MVC思想来实现:
View部分:
LoginServlet.java
该部分主要实现的是登录页面,页面通过post方式将数据提交给controller

package com.cn.view;

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

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

/**
 * Servlet implementation class LoginServlet
 */
public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginServlet() {
        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.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        out.println("<h1>user login<h1>");
        out.println("<form action='/UserManage/LoginHandleServlet' method='post'>");
        out.println("user:<input type='text' name='username'/><br/>");
        out.println("pswd:<input type='password' name='password'/><br/>");
        out.println("<input type='submit' value='login'/><br/>");
        out.println("</form>");

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

controller部分:
LoginHandleServlet.java
该页面主要实现的是从view部分获取提交的数据,并根据获取到的数据与默认设置的用户名及密码进行匹配,如果匹配成功则——–,如果失败则——-。当然这里只是简易的进行模拟,实际开发过程中还是需要用到数据库。

package com.cn.controller;

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

/**
 * Servlet implementation class LoginHandleServlet
 */
public class LoginHandleServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginHandleServlet() {
        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.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //System.out.println("username:" + username + "\n" + "password:" + password);
        //验证操作
        if("chenning".equals(username)&&"898368".equals(password)){
            //跳转至下一个页面
            //sendRedirect url的格式 /web应用名/servlet url
            response.sendRedirect("/UserManage/MainFrame");
        }else{
            //跳回
            response.sendRedirect("/UserManage/LoginServlet");
        }
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值