在web.xml文件中设置两个WEB应用的初始化参数,user、password
定义一个loginServlet,在其中获取请求的user,password,比对其和web.xml文件中定义的请求参数是否一致。若一致,响应Hello:xxx,若不一致,响应Sorry:xxx xxx为user。
Servlet:
private ServletConfig servletConfig;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("init...");
this.servletConfig = servletConfig;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("service...");
// 1.获取请求参数:username,password
String username = servletRequest.getParameter("username");
// 2.获取当前web应用的初始化参数:user,password
String password = servletRequest.getParameter("password");
// 3.比对
ServletContext servletContext = servletConfig.getServletContext();
String initUser = servletContext.getInitParameter("user");
String initPassword = servletContext.getInitParameter("password");
PrintWriter printWriter = servletResponse.getWriter();
// 4.打印响应字符串
if (username.equals(initUser) && password.equals(initPassword)){
printWriter.print("Hello" + username);
}else{
printWriter.print("Sorry" + username);
}
}
web.xml:
<!--配置当前web应用的初始化参数-->
<context-param>
<param-name>user</param-name>
<param-value>YHS</param-value>
</context-param>
<context-param>
<param-name>password</param-name>
<param-value>123</param-value>
</context-param>
<servlet>
<servlet-name>DengluServlet</servlet-name>
<servlet-class>com.demo.javaweb.DengluServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DengluServlet</servlet-name>
<url-pattern>/DengluServlet</url-pattern>
</servlet-mapping>
package com.demo.javaweb;
import javax.servlet.*;
import java.io.IOException;
/*自定义的一个Servlet接口的实现类:让开发的任何Servlet都继承该类,以简化开发
* */
public class GenericServlet implements Servlet {
private ServletConfig servletConfig;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
}
@Override
public ServletConfig getServletConfig() {
return servletConfig;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
Servlet练习和自定义GenericServlet实现类
原文:https://www.cnblogs.com/yangHS/p/10925105.html