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 条评论
登录 后参与评论

相关文章

来自专栏ml

Java 基础知识点(必知必会其二)

   1.如何将数字输出为每三位逗号分隔的格式,例如“1,234,467”?    1 package com.Gxjun.problem; 2 3 i...

39750
来自专栏ml

位运算的方法,大结

Title:       位操作基础篇之位操作全面总结 Author:     MoreWindows E-mail:      morewindows@126...

65880
来自专栏GIS讲堂

用geotools自己写WMS服务

本文讲述如何结合geotools写一个类似于WMS的地图服务,并实现在OL4中的调用展示。

33160
来自专栏拂晓风起

actionscript DES 加密 解密 (AES,其他加密)

13630
来自专栏Jed的技术阶梯

图解 Java 位运算

需要说明的是,在计算机中,数字是以补码的形式存在的,计算也是用补码来进行计算,计算后的结果也是补码

78720
来自专栏小樱的经验随笔

BZOJ 1012: [JSOI2008]最大数maxnumber【线段树单点更新求最值,单调队列,多解】

1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec  Memory Limit: 162 MB Submit: 103...

31060
来自专栏码匠的流水账

聊聊storm TridentTopology的构建

storm-core-1.2.2-sources.jar!/org/apache/storm/trident/TridentTopology.java

20030
来自专栏SeanCheney的专栏

《Pandas Cookbook》第09章 合并Pandas对象

28010
来自专栏码匠的流水账

聊聊spring cloud gateway的GatewayFilter

本文主要研究一下spring cloud gateway的GatewayFilter

65510
来自专栏小樱的经验随笔

POJ 2492 A Bug's Life

A Bug's Life Time Limit: 10000MS Memory Limit: 65536K Total Submissions:...

295100

扫码关注云+社区

领取腾讯云代金券