1. 编写一个Servlet,当用户请求该Servlet时,显示用户于几点几分从哪个IP(Internet Protocol)地址连线至服务器,以及发出的查询字符串(Query String)。
查询一下ServletRequest或HttpServletRequest的API帮助文档,了解有哪些方法可以使用。

@WebServlet("/hello.view")
public class HelloServlet extends HttpServlet {

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

    response.setContentType("text/html;charset=UTF-8");

    PrintWriter out = response.getWriter();

    Calendar cal = Calendar.getInstance();

    int hour=cal.get(Calendar.HOUR);//小时

    int minute=cal.get(Calendar.MINUTE);//分

    String remoteIp=request.getRemoteAddr();//获取客户端的ip

    String select=request.getParameter("select");//获取查询语句

    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

    out.println("<HTML>");

    out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");

    out.println("  <BODY>");

    out.print("用户在"+hour+"点"+minute+"分,从"+remoteIp+"连接至服务器<br/>");

    out.println("查询字符串为:"+select);

    out.println("  </BODY>");

    out.println("</HTML>");

    out.flush();

    out.close();

  }

}


2. 编写一个应用程序,可以让用户在窗体网页上输入名称、密码,若名称为caterpillar且密码为123456,则显示一个HTML页面响应并有“登录成功”字样,否则显示“登录失败”字样,并由一个超链接连回窗体网页。注意:不可在地址栏上出现用户输入的名称、密码。

个人案例:

第一步,新建Dynamic Web Project名称为FirstServlet,在src下新建Servlet类HelloServlet.java

@WebServlet("/servlet/*")
public class HelloServlet extends HttpServlet {

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

    response.setContentType("text/html;charset=utf-8");

    PrintWriter out = response.getWriter();

    String userName=request.getParameter("userName");

    String password=request.getParameter("password");

    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

    out.println("<HTML>");

    out.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");

    out.println("<BODY>");

    if("caterpillar".equals(userName) && "123456".equals(password)){

      out.println("登录成功");

    }else{

      out.println("登录失败!<br/>");

      out.println("<a href='../index.jsp'>返回</a>");

    }

    out.println("  </BODY>");

    out.println("</HTML>");

    out.flush();

    out.close();

  }

}

第二步:在web.xml配置欢迎界面,如下

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

第三步:编写index.jsp

<form method="post" action="<%=path%>/servlet/hello.do">
     <table>
       <tr><td>用户名:</td><td><input type="text" name="userName" value=""/></td></tr>
       <tr><td>密码:</td><td><input type="password" name="password" value=""/></td></tr>
       <tr><td><input type="submit" value="登录"/></td><td></td></tr>
     </table>
</form>

第四步:测试,在输入框输入如下地址,填写错误的用户名和密码,出现第二张图的结果

点击返回,这次输入正确的用户名和密码,显示登陆成功

servlet练习1的更多相关文章

  1. servlet文件下载

    创建web工程servlet,新建DownloadServlet.java package com.xmyself.servlet; import java.io.File; import java. ...

  2. java中servlet的各种路径

    1. web.xml中<url-pattern>路径,(叫它Servlet路径!) > 要么以“*”开关,要么为“/”开头 2. 转发和包含路径 > *****以“/”开头:相 ...

  3. Servlet监听器笔记总结

    监听器Listener的概念 监听器的概念很好理解,顾名思义,就是监视目标动作或状态的变化,目标一旦状态发生变化或者有动作,则立马做出反应. Servlet中的也有实现监听器的机制,就是Listene ...

  4. JavaWeb——Servlet

    一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互. 这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求 ...

  5. servlet 简介,待完善

    什么是Servlet?① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 Servlet相关包的介绍--javax. ...

  6. java web学习总结(五) -------------------servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  7. servlet使用入门

    创建web工程servlet,然后新建TestServlet.java package com.xmyself.servlet; import java.io.IOException; import ...

  8. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  9. [Servlet] 初识Servlet

    什么是Servlet? 定义 Servlet的全称是 Server Applet,顾名思义,就是用 Java 编写的服务器端程序. Servlet 是一个 Java Web开发标准,狭义的Servle ...

  10. Java Servlet+Objective-c图上传 步骤详细

    一. Servlet 1.创建图片保存的路径 在项目的WebContent下创建一个上传图片的专属文件夹. 这个文件夹创建后,我们保存的图片就在该文件夹的真实路径下,但是在项目中是无法看到上传的图片的 ...

随机推荐

  1. hdu 5312 dp(背包)、二分图或其他姿势

    题意:给出一个二分图(不一定连通),问最多能加多少边,使它仍然是二分图 BC周年庆第四题,貌似终判再终判之后数据还是有问题``` 据说貌似可以用bitset搞,而且姿势优美是正解```然而我还是用的d ...

  2. ACM常用算法

    数据结构 栈,队列,链表 哈希表,哈希数组 堆,优先队列 双端队列 可并堆 左偏堆 二叉查找树 Treap 伸展树 并查集 集合计数问题 二分图的识别 平衡二叉树 二叉排序树 线段树 一维线段树 二维 ...

  3. test20180902 day1

    试题限制均为256MB,1Sec 总分:250 试题一 谜题 首先请解以下谜题:车下的数字是什么? 正确的答案是 87 .这道题对小龙大犇来说太轻松了,于是他想加强难度来考考你:对于给定的长度 N,能 ...

  4. vault 集群搭建(active standby 模式)

        参考架构图: consul server cluster 搭建 consul 基本配置格式 { "server": true, "node_name": ...

  5. Drupal 7 建站学习手记(五):QuickTabs模块内的元素无法溢出的问题

    背景 项目要求站点首页放Views生成的区块,而且要求有很多其它链接. Views生成的区块默认的很多其它链接仅仅能选在列表上方和下方 下图是默认在上方的样式图: 为了美观.我将很多其它链接上移了若干 ...

  6. pykd试用

    啥是pykd? 一个windbg插件,能在windbg里面运行python指令 试用步骤 下载from https://pykd.codeplex.com/releases/view/615625 解 ...

  7. 洛谷4059找爸爸(Code+第一次月赛)

    题目:https://www.luogu.org/problemnew/show/P4059 dp. 1.看出-A-B(k-1)可以理解成连续空格的第一个 -A,其余 -B: 2.把会干扰的“上一步右 ...

  8. mySQL 教程 第3章 数据类型和数据完整性

    准备数据库 创建练习数据库,以下实验都是在这个数据库中完成. 练习1:比较各种数值型 create table tmp1 ( id INT, name VARCHAR(25), deptId deci ...

  9. 阿里巴巴Java开发手册-命名规约

    1. [强制] 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.反例: _name / __name / $Object / name_ / name$ / Object$2. ...

  10. Ice框架简介及Vs2013安装Ice 3.7.0步骤及实例

    ICE是什么? ICE是ZEROC官网的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,支持C+ ...