在web.xml定义,在网页中使用变量实例 使用只有创建变量的servlet才可以访问的方式 附带登陆和跳转实现

package com.helloweenvsfei.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//import com.sun.corba.se.spi.protocol.ForwardException;
//import com.sun.jmx.snmp.Enumerated;

public class InitParamServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public InitParamServlet() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     *
     * @param request
     *            the request send by the client to the server
     * @param response
     *            the response send by the server to the client
     * @throws ServletException
     *             if an error occurred
     * @throws IOException
     *             if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setCharacterEncoding("UTF-8");
        request.setCharacterEncoding("UTF-8");

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out
                .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
        out.println("<HTML>");
        out.println("  <HEAD><TITLE>请登陆查看Notice文件</TITLE></HEAD>");
        out.println("<style>body, td, div {font-size:12px;}</style>");
        out.println("  <BODY>");
        out.println("    <form action='" + request.getRequestURI()
                + "' method='post'>");
        out
                .println("账号:<input type='text' name='username' style='width=200px;'><br/>");
        out
                .println("密码:<input type='password' name='password' style='width=200px;'><br/>");
        out.println("<input type='submit' value='登陆'>");
        out.println(" </form>");
        out.println("  </BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();
    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to
     * post.
     *
     * @param request
     *            the request send by the client to the server
     * @param response
     *            the response send by the server to the client
     * @throws ServletException
     *             if an error occurred
     * @throws IOException
     *             if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        
        Enumeration params = this.getInitParameterNames();
        
        while(params.hasMoreElements())
        {
            String usernameParam = (String)params.nextElement();
            String passwordParam = getInitParameter(usernameParam);
            
            if(usernameParam.equalsIgnoreCase(username)&&passwordParam.equalsIgnoreCase(password))
            {
                request.getRequestDispatcher("/WEB-INF/notice.html").forward(request,response);
                return;
                
            }
        }
        this.doGet(request, response);

        /*response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        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("    This is ");
        out.print(this.getClass());
        out.println(", using the POST method");
        out.println("  </BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();*/
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException
     *             if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }

}



<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <servlet>
  <description>This is the description of my J2EE component</description>
  <display-name>This is the display name of my J2EE component</display-name>
  <servlet-name>InitParamServlet</servlet-name>
  <servlet-class>com.helloweenvsfei.servlet.InitParamServlet</servlet-class>
  <init-param>
   <param-name>helloween</param-name>
   <param-value>password</param-value>
  </init-param>
  <init-param>
   <param-name>admin</param-name>
   <param-value>admin</param-value>
  </init-param>
  <init-param>
   <param-name>babyface</param-name>
   <param-value>babyface</param-value>
  </init-param>
 </servlet>
 <servlet-mapping>
  <servlet-name>InitParamServlet</servlet-name>
  <url-pattern>/servlet/InitParamServlet</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>
</web-app>


你可能感兴趣的:(html,server,servlet,String,equals,initialization)