2.Servlet开发基础重点.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
思考与实践(1) 1.Servlet程序的编译和运行过程的环境是完全不同的,如果Servlet程序中用到了第三方的jar包,例如数据库驱动程序,在编译时需要设置CLASSPATH环境变量来包含该jar包,在运行时也还需要用到该jar包。请编写一个Servlet程序,该Servlet程序调用另外一个自己编写的普通类,将该普通类打包成一个jar文件后删除普通类的class文件,然后编译Servlet程序,该怎样设置才能让Servlet程序的编译通过?将Servlet放置在Web应用程序内的WEB-INF/classes目录中运行,要想Servlet能够访问到该普通类,包含普通类的jar文件可以放置在下面的哪些目录中? JAVA_HOME/jre/lib/ext CATALINA_HOME/common/lib CATALINA_HOME/server/lib CATALINA_HOME/share/lib 当前Web应用程序的目录/WEB-INF/lib 将jar文件路径增加到Tomcat设置的CLASSPATH环境变量中 如果按照“自己的东西放在自己的抽屉里”的原则,你觉得最好的方式是哪种? 思考与实践(2) 2.假设在两个WEB应用程序中都要调用某一个Servlet,如果将这个Servlet类文件放置在CATALINA_HOME/share/classes目录中,然后在这两个Web应用程序中分别访问该Servlet时,Servlet的构造函数或init方法将被调用几次?如果在每个Web应用程序的WEB-INF/classes目录中都放置这个Servlet类文件,然后在这两个Web应用程序中分别访问该Servlet时,Servlet的构造函数或init方法将被调用几次?另外,请在这个Servlet程序中增加一条静态代码,用这条静态代码打印出一条提示信息,看看在上面的两种运行情况下,这条静态代码被执行了几次。请分析原因并写出详细的实验步骤和结果。提示:上面的两种情况分别由share类装载器和两个Web应用程序各自的Webapp类加载器加载该Servlet,可以在该Servlet的构造函数或init方法中将一个初始值为0的静态成员变量加1后打印出来,根据打印结果验证自己的想法。 思考与实践(3) 程序清单:ConfigTestServlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ConfigTestServlet extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(text/plain;charset=GB2312); PrintWriter out = response.getWriter(); out.println(Servlet名称为: + /*this.*/getServletName() + br); out.println(/html); } } 如果在上面的例子程序中,覆盖GenericServlet的有参数的init(ServletConfig?config)方法,在其方法体中什么也不写,如下所示: public void init(ServletConfig?config) throws ServletException { } 请问ConfigTestServlet将是怎样的访问运行效果? 如果将这个方法定义修改为覆盖GenericServlet的无参数的init()方法,即修改成如下形式: public void init() throws ServletException { } 这时,ConfigTestServlet又将是怎样的访问运行效果? 思考与实践(4) import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { //只是在下面将service方法名修改成了doGet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletEx

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档