Java by API/javax.servlet/GenericServlet

Материал из Java эксперт
Перейти к: навигация, поиск

extends GenericServlet

   <source lang="java">

import java.io.IOException; import java.io.PrintWriter; import java.net.InetAddress; import java.net.UnknownHostException; import javax.servlet.GenericServlet; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class GetKey extends GenericServlet {

 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
   res.setContentType("text/plain");
   PrintWriter out = res.getWriter();
   String key = getInitParameter("key");
   String host = req.getServerName();
   int port = req.getServerPort();
   if (!keyFitsServer(key, host, port)) {
     out.println("Pirated!");
   } else {
     out.println("Valid");
   }
 }
 private boolean keyFitsServer(String key, String host, int port) {
   return true;
 }

}


      </source>
   
  
 
  



GenericServlet: getInitParameterNames()

   <source lang="java">

import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.GenericServlet; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class GetInitParams extends GenericServlet {

 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
   res.setContentType("text/plain");
   PrintWriter out = res.getWriter();
   out.println("Init Parameters:");
   Enumeration e = getInitParameterNames();
   while (e.hasMoreElements()) {
     String name = (String) e.nextElement();
     out.println(name + ": " + getInitParameter(name));
   }
 }

}

      </source>
   
  
 
  



GenericServlet: getInitParameter(String arg0)

   <source lang="java">

import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MainServlets extends HttpServlet {

 int count;
 public void init() throws ServletException {
   String initial = getInitParameter("initial");
   try {
     count = Integer.parseInt(initial);
   } catch (NumberFormatException e) {
     count = 0;
   }
 }
 public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,
     IOException {
   res.setContentType("text/plain");
   PrintWriter out = res.getWriter();
   count++;
   out.println("Since loading (and with a possible initialization");
   out.println("parameter figured in), this servlet has been accessed");
   out.println(count + " times.");
 }

}

      </source>
   
  
 
  



GenericServlet: getServletContext()

   <source lang="java">

import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.GenericServlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class ServerSnoop extends GenericServlet {

 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
   res.setContentType("text/plain");
   PrintWriter out = res.getWriter();
   ServletContext context = getServletContext();
   out.println("req.getServerName(): " + req.getServerName());
   out.println("req.getServerPort(): " + req.getServerPort());
   out.println("context.getServerInfo(): " + context.getServerInfo());
   out.println("getServerInfo() name: " + getServerInfoName(context.getServerInfo()));
   out.println("getServerInfo() version: " + getServerInfoVersion(context.getServerInfo()));
   out.println("context.getAttributeNames():");
   Enumeration e = context.getAttributeNames();
   while (e.hasMoreElements()) {
     String name = (String) e.nextElement();
     out.println("  context.getAttribute(\"" + name + "\"): " + context.getAttribute(name));
   }
 }
 private String getServerInfoName(String serverInfo) {
   int slash = serverInfo.indexOf("/");
   if (slash == -1)
     return serverInfo;
   else
     return serverInfo.substring(0, slash);
 }
 private String getServerInfoVersion(String serverInfo) {
   // Version info is everything between the slash and the space
   int slash = serverInfo.indexOf("/");
   if (slash == -1)
     return null;
   int space = serverInfo.indexOf(" ", slash);
   if (space == -1)
     space = serverInfo.length();
   return serverInfo.substring(slash + 1, space);
 }

}

      </source>
   
  
 
  



GenericServlet: init()

   <source lang="java">

import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MainServlets extends HttpServlet {

 int count;
 public void init() throws ServletException {
   String initial = getInitParameter("initial");
   try {
     count = Integer.parseInt(initial);
   } catch (NumberFormatException e) {
     count = 0;
   }
 }
 public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,
     IOException {
   res.setContentType("text/plain");
   PrintWriter out = res.getWriter();
   count++;
   out.println("Since loading (and with a possible initialization");
   out.println("parameter figured in), this servlet has been accessed");
   out.println(count + " times.");
 }

}

      </source>