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

王朝java/jsp·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

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中设定。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航