1、JSP ServletLab AssignmentI1. Write a servlet that prints Hello WorldSelvelet code:package myPackage.huangcaiwang;import java.io.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;pub
2、lic class HelloWorld extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html); PrintWriter out = response.getWriter(); out.print(Hello world ); XML Code(web.xml): HelloWorld myPackage.huang
3、caiwang.HelloWorld HelloWorld /HelloWorld Output:2. Write a servlet that knows to whom its saying hello, This servlet must be called from an HTML page taking user name as input. (Use both get and post method)HTML code: myInput.html UserName: Selvelet code:package myPackage.huangcaiwang;import java.i
4、o.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class WhoSayingHello extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throw
5、s ServletException, IOException response.setContentType(text/html); PrintWriter out = response.getWriter(); String name=request.getParameter(name); out.print(+name+ is saying Hello ); out.println( using the doGET method); public void doPost(HttpServletRequest request, HttpServletResponse response) t
6、hrows ServletException, IOException response.setContentType(text/html); PrintWriter out = response.getWriter(); String name=request.getParameter(name); out.print(+name+ is saying Hello ); out.println( using the doPOST method); XML Code(web.xml):WhoSayingHellomyPackage.WhoSayingHello WhoSayingHello /
7、WhoSayingHello Output:Change the code “method=”get” into “method=”post”in html,then show the output:3. Write a servlet that counts and displays the number of times it has been accessed since the last server reboot (Many threads, one servlet instance).Selvelet code:package myPackage.huangcaiwang;impo
8、rt java.io.*;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Counts extends HttpServlet static int counts=0; public void init(Servlet
9、Config config) throws ServletException super.init(config); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException +counts; response.setContentType(text/html); PrintWriter out = response.getWriter(); out.print(this page has been accessed +coun
10、ts+ times); XML Code(web.xml): Counts myPackage.huangcaiwang.Counts Counts /Counts Output:Every time when you refresh,the coutss times puls one,then output:4. Write a servlet that prints the name and value for all of its init parameters.Selvelet code:package myPackage.huangcaiwang;import java.io.IOE
11、xception;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 GetInitParameters extends HttpServlet public void doGet(HttpServletRequest request,
12、HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html); PrintWriter out = response.getWriter(); java.util.Enumeration params = this.getServletConfig().getInitParameterNames(); while(params.hasMoreElements() String name = params.nextElement().toString();
13、 String value = this.getServletConfig().getInitParameter(name); out.println(name+ = +value); out.println(); XML Code(web.xml): GetInitParametersmyPackage.huangcaiwang.GetInitParameters class Ecom612 GetInitParameters /GetInitParameters Output:5. Write a servlet that displays information about its se
14、rver (The process is called Snooping).Hints: - public String ServletRequest.getServerName()public int ServletRequest.getServerPort()public String ServletContext.getServerInfo()public Object ServletContext.getAttribute(String name)Selvelet code:package myPackage.huangcaiwang;import java.io.IOExceptio
15、n;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 Soonping extends HttpServlet public void doGet(HttpServletRequest request, HttpServletRespo
16、nse response) throws ServletException, IOException response.setContentType(text/html); PrintWriter out = response.getWriter(); String serverName=request.getServerName(); int serverPort=request.getServerPort(); String ServerInfo=getServletContext().getServerInfo(); getServletContext().setAttribute(Co
17、lor, red); Object attribute=getServletContext().getAttribute(Color); out.print( information about my server are as follows: ); out.println(); out.print(serverName:+serverName); out.print(); out.print(serverPort:+serverPort); out.print(); out.print(ServerInfo:+ServerInfo); out.print(); out.print(attr
18、ibute:+attribute); out.print(); XML Code(web.xml): Soonping myPackage.huangcaiwang.Soonping Soonping /Soonping Output:6. Write a servlet that snoops the servers servlet and Java version.Selvelet code:package myPackage.huangcaiwang;import java.io.IOException;import java.io.PrintWriter;import javax.se
19、rvlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import myPackage.huangcaiwang.VersionDetector;public class SnoopVersion extends HttpServlet public void doGet(HttpServletRequest request, HttpServle
20、tResponse response) throws ServletException, IOException response.setContentType(text/html); PrintWriter out = response.getWriter(); out.println(Servlet Version: + VersionDetector.getServletVersion(); out.println(); out.println(Java Version: + VersionDetector.getJavaVersion(); Java code of VersionDe
21、tector class:package myPackage.huangcaiwang;/Copyright (C) 2000-2001 by Jason Hunter ./ All rights reserved. Use of this class is limited./ Please see the LICENSE for more information./* * A class to determine the current Servlet API version number, and the * current JDK version number. It looks at
22、the available classes and * variables to make the determination. The class can detect Servlet * API versions up to 2.2, and JDK versions up to 1.3. * * It can be used like this: * * String servletVersion = VersionDetector.getServletVersion(); * String javaVersion = VersionDetector.getJavaVersion();
23、* author Jason Hunter, Copyright © 2000 * version 1.3, 2002/04/22, added detection of JDK 1.5 and Servlet API 2.4 * version 1.2, 2001/04/11, added detection of JDK 1.4 * version 1.1, 2000/09/22, added detection of Servlet API 2.3 * version 1.0, 2000/02/08 */public class VersionDetector static S
24、tring servletVersion; static String javaVersion; /* * Determines the Servlet API version number. * return a String representation of the servlet version */ public static String getServletVersion() if (servletVersion != null) return servletVersion; / Determine the servlet version by looking at availa
25、ble classes / and variables / javax.servlet.http.HttpSession was introduced in Servlet API 2.0 / javax.servlet.RequestDispatcher was introduced in Servlet API 2.1 / javax.servlet.http.HttpServletResponse.SC_EXPECTATION_FAILED was / introduced in Servlet API 2.2 / javax.servlet.Filter is slated to be
26、 introduced in Servlet API 2.3 / Count up versions until a NoClassDefFoundError or NoSuchFieldException / ends the try String ver = null; try ver = 1.0; Class.forName(javax.servlet.http.HttpSession); ver = 2.0; Class.forName(javax.servlet.RequestDispatcher); ver = 2.1; Class.forName(javax.servlet.http.HttpServletResponse) .getDeclaredField(SC_EXPECTATION_FAILED); ver = 2.2; Class.forName(javax.servlet.Filter); ver = 2.3; Class.forNam
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1