您可以在这里快速查找:


 
您的位置: 编程学习 > java教程 > 200601
文章分类

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02

Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

VB编程
2006: 02

Asp编程
2005: 11 12
2006: 01 02

C++/VC
2005: 10 11 12
2006: 01 02

Delphi
2005: 12
2006: 01 02

其它

 本文章适合所有读者

Servlet和JSP知识复习(2)Servlet基础

ayace

Servlet和JSP知识复习(2)Servlet基础

 

·生成HTML的servlet

    ·告知浏览器接下来发送的时HTML

        - response.setContentType(“text/html”);

    ·修改println语句以构建合法的Web页面

        - 打印语句应用输出相应的HTML标签。

    ·用形式语法验证器 检查生成的HTML

        - http://validator.w3.org/

        - http://www.htmlhelp.com/tools/validator/

 

·servlet的打包

    ·将文件移动到与预想的包名相匹配的子目录中

    ·在类文件中插入包语句

        - E.g package org.waityou.test.servlet;

    ·要保证CLASSPATH指出顶层目录

    ·在URL中包括包名

        - E.g http://localhost/servlet/org.waityou.test.servlet.TestServlet

 

·一些简单的、用以构建HTML的实用工具类

    public class ServletUtilities {

public static final String DOCTYPE =

"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +

"Transitional//EN\">";

public static String headWithTitle(String title) {

return(DOCTYPE + "\n" +

"<HTML>\n" +

"<HEAD><TITLE>" + title +

"</TITLE></HEAD>\n");

}

...

}

·不要走极端

    - 完整的HTML生成包常常不能很好地工作

    - 应用JSP框架时更好的解决方案。

 

·servlet的生命周期

    ·init

        - 仅在servlet首次载入时执行一次。

            不是每次请求都要调用。

    ·service

        - 在新线程中由服务器为每个请求而调用。发送到

            doGet,doPost等。

            不要覆盖这个方法!

    ·doGet,doPost,doXxx

        - 处理GET,POST,等请求。

        - 覆盖这些方法以提供期望的行为。

    ·destroy

        - 在服务器删除servlet的实例时调用。

            不是每次请求后都调用。

 

·为什么不应该覆盖service

    ·之后可以通过加入doPut,doTrace等支持其他服务。

    ·通过添加getLastModified方法,就可以支持修改日期。

    ·service方法自动提供下述支持:

        - HEAD请求

        - OPTIONS请求

        - TRACE请求

    ·其他方案:让doPost调用doGet

 

·servlet的调试

    ·使用打印语句;在桌面计算机上运行服务器

    ·使用Apache Log4J

    ·使用IDE集成的调试器

    ·直接查看HTML源码

    ·返回错误页面给客户

        - 需要针对缺失或异常数据预先规划

    ·使用日志文件

        - log(“message”)或log(“message”, Throwable)

    ·分别处理请求和响应数据

    ·停止并重新启动服务器

 

·小结

    ·主要的servlet代码都在doGet或doPost中:

        - HttpServletRequest包含输入信息

        - HttpServletResponse允许我们设定发送出去的信息

            ·调用setContentType指定MIME类型

            ·调用getWriter获取针对客户的Writer

    ·一次性的设置代码放在init中

        - servlet仅仅初始化并载入一次

        - servlet被多次调用

        - 初始化参数在web.xml中设定。