jsp转换为servlet规则

 jsp文件中的内容转换规则如下:

1.html和普通文本转换为servlet中out.print("  ");语句中的字符串,即会原封不动地直接传递输出。如果输出中含有<%或%>,需要在文本中使用<\%或%\>。

如果希望添加一段注释,使之出现在jsp页面中但不现在结果文档中,需要使用<%-- jsp comment --%>.html注释会按照常规的方式传递给客户程序。

2.jsp表达式<%=Java Expression %>转换为out.print( Java Expression),即求值后插入到Servlet的输出中;

3.<% Java Code %>,将其中的代码插入到_jspService方法中(service方法调用);

4.<%! Field/Method Declaration %>:jsp声明,转换为Servlet类属性或方法的定义,转换为在_jspService方法之外的代码。

由于java类中属性和方法可以以任意次序声明,因此,由声明产生的代码放在servlet顶部还是底部并不重要。

注意事项

编写jsp页面时想着以上四种转换规则。

要限制jsp页面中java代码的量。可以使用一些辅助类,然后在jsp页面中使用他们。

要将所有类都放在包中。

客户对同一个servlet的多个请求只会产生多个线程,每一个线程都调用单一servlet实例的service方法。

除非servlet实现了现在已经不赞成使用的SingThreadModel接口,否则多个请求并不会导致多个servlet实例的创建。

因此,常规servlet的实例变量为每个请求共享。

servlet的实例变量只在对象构建时初始化,且servlet只构建一次,

然后保存在内存中处理不同的请求,并不为每个请求分配新的实例,而方法在每个请求时执行。

上一篇:基于jsp+servlet+MySQL的二手商城设计


下一篇:Servlet的Session机制