制作login.jsp页面,要求实现提供用户登陆的界面, 用户通过该界面输入用户名(控件名userName)和密码(控件名password), 然后点击“登录”按钮实现登陆操作._Immer_L6的博客-程序员秘密

技术标签: Test  

例题:
1.制作login.jsp页面,要求实现提供用户登陆的界面,

用户通过该界面输入用户名(控件名userName)和密码(控件名password),

然后点击“登录”按钮实现登陆操作.

2.制作welcome.jsp页面,要求在该页面中显示合法用户成功登陆的提示信息,

信息格式如下:“用户,密码为,欢迎您于*时间访问本页面。”

3.设计并实现LoginServlet类,通过该类获取login.jsp中提交的登陆信息。

合法用户登陆时要求获取用户登陆的时间,并通过RequestDispatcher对象将成功登陆的提示信息转发到welcome.jsp页面,

非法用户登陆时重定向到login.jsp页面,让用户重新登录。

4.合法用户只有一名,用户名为“TOM”,密码为“123456”。


这里我用到的开发工具是Intellij idea 2017.3创建项目如图
这里写图片描述

创建login.jsp

<%--
  Created by IntelliJ IDEA.
  User: SugarMan
  Date: 2017/12/18
  Time: 上午10:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %>
<html>
<head>
    <title>登录</title>
</head>
<body>
    ${requestScope.info}
    <form action="first"  method="post">
        姓名:<input type="text" name="userName"><br>

        密码:<input type="password" name="password"><br>

        <input type="submit" value="登录">

    </form>
</body>
</html>

first.java代码

package Servlet;

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

public class first extends HttpServlet {
    
    protected void doPost(HttpServletRequest request, 
ServletException, IOException {

        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("userName");
        String password = 
        request.getParameter("password");
        String info = "";

        request.setAttribute("userName",name);
        request.setAttribute("password",password);


        if (name.equals("TOM") && password.equals("123456")) {
            info = name + "用户,密码为:" + password + 
            ",欢迎您于" + new Date() + "时间访问本页面";
            request.setAttribute("info",info);
            //此方法重新定向的地址为web.xml里servlet的地址
            request.getRequestDispatcher("welcome.jsp");
            dispatcher.forward(request,response);
        } else  {
            info = "用户密码输入错误";
            request.setAttribute("info",info);//向req保存info信息
            RequestDispatcher dispatcher = 
            request.getRequestDispatcher("login.jsp");
            dispatcher.forward(request,response);//重定向转发

        }
    }


}

PS:这里为什么我没有用LoginServlet来命名呢,因为我试过用这个名称命名,却发现在form表单里找不到它,重启服务器,清除idea缓存都不行,无奈只好用其他名称命名了,如果有小伙伴解决了这个问题可以告诉我哦!

welcome.jsp代码

<%--
  Created by IntelliJ IDEA.
  User: SugarMan
  Date: 2017/12/18
  Time: 上午10:42
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %>
<html>
<head>
    <title>欢迎</title>
</head>
<body>
    ${requestScope.info}
</body>
</html>

PS:这个EL表达式真心方便

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Immer_L6/article/details/78851273

智能推荐

CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录_天剑含光的博客-程序员秘密_springboot整合cas

CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录1.1 什么是单点登录1.2 什么是CAS1.3 CAS服务端部署1.template下载1.4 客户端搭建1.1 什么是单点登录单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。我们目前的系...

《Flutter 控件大全》第六十个:ListWheelScrollView_老孟Flutter的博客-程序员秘密

如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit)。同时也欢迎关注我的Flutter公众号【老孟程序员】,公众号首发Flutter的相关内容。Flutter地址:http://laomengit.com 里面包含160多个组件的详细用法。在展示大量数据的时候我们第一会想到使用ListView,如果你觉得ListView比较单一、...

母亲节祝福短信母亲节信息母亲节祝福语大全 - 健康程序员,至尚生活!_weixin_33924220的博客-程序员秘密

 妈:感谢您让咱们一家人吃的丰盛、穿的体面、乐的开怀,让我代表一家人向您说:母亲节快乐! 妈妈,感谢您!在我跌跌撞撞的时候,是您一直在支持着我。今天是您的节日,衷心祝您节日快乐! 妈妈,今天是一个您也许不会记得而我永远不会忘记的日子!妈妈:祝您母亲节快乐! 妈妈我感谢你赐给了我生命,是您教会了我做人的道理,无论将来怎么样,我永远爱您!在这属于您的节日里,祝您节日快乐,永远快乐! 你的爱,我...

web开发必须知道--servlet、连接池、线程池的概念原理和使用_chujingli4480的博客-程序员秘密

servlet定义 全称JavaServlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为...

梦幻诛仙11职业linux架设手游,一款【梦幻诛仙11职业】手游端私服架设+JAVA后台+架设视频教程..._weixin_39860349的博客-程序员秘密

一款【梦幻诛仙11职业】手游端私服架设+JAVA后台+架设视频教程安装说明:最低配置2H4G安装CentOS 6.8体系封闭防火墙chkconfig iptables offservice iptables stop114 56 54安装浮图yum install -y wget &amp;&amp; wget -O install.sh http://download.bt.cn/install...

深入浅出Win32多线程程序设计-【1】基本概念_lzhdim的博客-程序员秘密

 &amp;#13;  引言&amp;#13;&amp;#13;  从单进程单线程到多进程多线程是操作系统发展的一种必然趋势,当年的DOS系统属于单任务操作系统,最优秀的程序员也只能通过驻留内存的方式实现所谓的&quot;多任务&quot;,而如今的Win32操作系统却可以一边听音乐,一边编程,一边打印文档。&amp;#13;&amp;#13;  理解多线程及其同步、互斥等通信方式是理解现代操作系统的关键一环,当我们精通了Win3...

随便推点

一周极客热文:一幅图让你一网打尽所有的编程语言!_csdn极客头条的博客-程序员秘密

双11马上就要到了,小极没啥高大上的礼物送你们,只有真心实意的技术干货和关注程序员成长的文章给各位了,废话不多说,下面就让我们看看这一周的精华荟萃吧!技术干货类1.编程语言网络:一幅图让你一网打尽所有的编程语言! 「语言之博大精深啊。都成小星球了。」Tips:可以点击圆点 鼠标滚轮缩放2.大型网站系统架构的演化 「一个成熟的大型网站(如淘宝、京东等)的系统架构并不是...

Android学习之Volley网络请求框架_weixin_37879993的博客-程序员秘密_volley请求

请求对象:StringRequest,JsonObjectRequest,JsonAarryRequest,ImageRequest步骤:1.创建一个请求队列RequestQueue2.创建Request对象3.将请求对象添加到请求队列中具体实现:1.在AndroidManifest.xml中添加网络访问权限: &lt;uses-permission android:name="android.permission.INTERNET" /&gt;2.在.

平面坐标点排序(一)_top啦它的博客-程序员秘密_坐标点排序

题目描述:输入n(0&lt;n&lt;100)和平面上n个点的坐标(均为整数),按点到原点的距离从小到大排序输出各点坐标,要求分别编写函数实现平面点坐标的录入InputData()、排序Sort()和输出OutputData()。Example Input31 23 41 1Example Output(1,1) (1,2) (3,4)在这里插入代码片#include&lt...

关于<mvc:default-servlet-handler/>报错问题的解决_iteye_10680的博客-程序员秘密

在spring mvc中引用&amp;lt;mvc:default-servlet-handler/&amp;gt;后启动程序异常如下: ERROR: org.springframework.web.servlet.DispatcherServlet - Context initialization failedorg.springframework.beans.factory.BeanCreati...

CppSQLite - C++ Wrapper for SQLite_aperfels的博客-程序员秘密

原文地址:http://www.codeproject.com/Articles/6343/CppSQLite-C-Wrapper-for-SQLite/IntroductionThis article describes CppSQLite, a very thin C++ wrapper around the public domain SQLite datab

OAuth2实现单点登录SSO完整教程,其实不难!_程序员的成长之路的博客-程序员秘密

程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 13 分钟。来自:cnblogs.com/cjsblog/p/10548022.html前言技术这东西吧,看别人写的好...