专栏首页土豆专栏JavaWeb入门之Servlet小练习
原创

JavaWeb入门之Servlet小练习

写给还是小白的我们,一起加油!

今天来一个巨简单的Servlet小练习,顺带温习下前两天的内容~

练习:

在web.xml文件中设置两个WEB应用的初始化参数,username,password,创建一个html页面,定义两个请求字段并发送到一个Servlet中,对应web.xml中的参数是否一样;若一致,响应hello:username;若失败则Sorry:username

html:

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <form action="PracticeServlet" method="post">
    username:<input type="text" name="username"/>
    password:<input type="password" name="password"/>
    <input type="submit" value="Submit"/>
    </form>
</body>
</html>

PracticeServlet:

package per.huang.pra;

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

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class PracticeServlet implements Servlet {

    @Override
    public void destroy() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public ServletConfig getServletConfig() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String getServletInfo() {
        // TODO Auto-generated method stub
        return null;
    }
    private ServletConfig servletConfig;
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        // TODO Auto-generated method stub
        this.servletConfig=servletConfig;
    }

    @Override
    public void service(ServletRequest request, ServletResponse response)
            throws ServletException, IOException {
        //1,获取请求参数:username,password
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        //2,获取当前WEB应用的初始化参数:user,password
        //需要使用ServletContext对象
        ServletContext servletContext=servletConfig.getServletContext();
        String initUser=servletContext.getInitParameter("user");
        String initPassword=servletContext.getInitParameter("password");
        PrintWriter out=response.getWriter();
        //3,比对
        //4,打印响应字符串
        if(initUser.equals(username)&&initPassword.equals(password)){
            out.print("Hello:"+username);
        }else{
            out.print("Sorry"+username);;
        }
        
        
    }

}

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
         id="WebApp_ID" version="3.0">
  <display-name>Day0516</display-name>
  <!-- 配置当前WEB应用的初始化参数 -->
  <context-param>
      <param-name>user</param-name>
      <param-value>huang</param-value>
  </context-param>
  <context-param>
      <param-name>password</param-name>
      <param-value>123456</param-value>
  </context-param>
  <!-- 配置Servlet -->
  <servlet>
      <servlet-name>PracticeServlet</servlet-name>
      <servlet-class>per.huang.pra.PracticeServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>PracticeServlet</servlet-name>
      <url-pattern>/PracticeServlet</url-pattern><!-- 和跳转的action后面的内容一样 -->
  </servlet-mapping>
</web-app>

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java面试之数据库常用语句

    >id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, //id值,无符号、非空、递增——唯一性,可做主键。

    黄桂期
  • JavaWeb入门之Servlet基础 1

    首先来简单介绍一下Servlet,它是和平台无关的服务器端组件,运行在Servlet容器中。Servlet容器负责Servlet和客户的通信以及调用Servle...

    黄桂期
  • Java面试之基本概念(二)

    当两个线程竞争同一资源的时候,如果对资源的访问顺序敏感,就称存在竞态条件。导致竞态条件发生的代码区称作临界区。

    黄桂期
  • 2018年7月26日python中面向对象中的封装

    武军超
  • Python学习记录day2

    Python是一门基于虚拟机的语言,pyc 是由py文件经过编译后二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由...

    py3study
  • 为什么要关注索引统计误差

    事情的起因是,我的朋友小明同学有一天突然发现有个SQL的执行计划出问题了。经过一番排查,居然发现是该表的辅助索引统计信息存在严重偏差。

    田帅萌
  • 私有云中Kubernetes Clu

    Kubernetes Master HA架构图 ? 配置与说明 所有组件可以通过kubelet static pod的方式启动和管理,由kubelet st...

    Walton
  • Android实现应用程序的闪屏效果

    这样一个简单的闪屏效果就实现了呢,而且闪屏效果的实现有很多都方式,思路就是让你开始的节面等待个几秒钟,然后显示。

    砸漏
  • Java Web 文件上传

     在我们的web开发中,很多的时候都需要把本机的一些文件上传到web服务器上面去

    Hongten
  • 每天一个小技巧:Javascript中定义私有属性(Private Properties) IIFE 实现构造函数实现Class实现原生实现

    和很多高级语言不同,JavaScript 中没有 public、private、protected 这些访问修饰符(access modifiers),而且长期...

    MudOnTire

扫码关注云+社区

领取腾讯云代金券