java,
java,
(1)jre本身不包含servlet-api,所以不能运行jsp和servlet。
Tomcat的common/lib内包含servlet-api.jar,所以能运行jsp和servlet,所以说Tomcat是一个Servlet容器。
Servlet是J2EE规范的其中一项内容,所以可以理解为什么j2se的jre没有包含servlet-api,那么J2EE SDK和J2EE jre内有吗?
J2EE的安装目录(默认)sun\appServer内lib\j2ee.jar包含servlet-api和其它J2EE规范API
Tomcat本身不支持EJB,也不含有EJB api,能否通过加入ejb api到Tomcat的类库使其支持EJB ?
Servlet可以说是由Servlet-api构成,Tomcat是作为一种运行Servlet的容器,而其运行机制是容器设计者根据规范自行设计的。而这种容器本身的设计并不支持运行EJB,所以加入EJB API到Tomcat类库并不能使其支持EJB。
当客户请求访问某个Servlet时,Servlet容器(可看成是Tomcat)就会创建一个ServletRequest对象和一个ServletResponse对象,ServletRequest封装了客户的请求信息,然后Servlet容器把ServletRequest和ServletResponse对象传给客户所请求的Servlet。Servlet把响应结果写到ServletResponse中,然后Servlet容器把响应结果传给客户。
(2)
Tomcat容器在运行JSP文件时生成Servlet类文件,这些类继承自org.apache.jasper.runtime.HttpJspBase,而这个类存在于Tomcat 5.5\common\lib\jasper-runtime.jar内,很明显这个类不属于Servlet-api,所以说不同的Web/Servlet容器编译JSP文件为Servlet的方式有所不同。
(3)
在没有MyEclipse等J2EE开发IDE的条件下,使用jawac编译JSP和Servlet,必须使jawac找到Servlet和jsp的API,就要把Tomcat\common\lib\内的jsp-api.jar和servlet-api.jar加入系统环境变量classpath,这样编译器才可完成编译工作。
(4)
在xxx.jsp中使用<jsp:forward page="yyy.jsp" />时,xxx.jsp内所有的输出内容(包括HTML内容和out对象输出)都不起作用,连地址都保持为xxx.jsp而不会变为yyy.jsp,跟JSP的response.sendRedirect()和asp中的response.redirect()有很大不同。JSP的response.sendRedirect()也不会输出,但会转到yyy.jsp。asp中的response.redirect()会输出,但不转向。
<jsp:forward page="test.jsp?id=1" />
<%response.sendRedirect("test.jsp?id=2");%>
此种情况下,转向到test.jsp?id=1处。
<%response.sendRedirect("test.jsp?id=2");%>
<jsp:forward page="test.jsp?id=1" />
此种情况下,会出错,显示:Cannot forward after response has been committed
<jsp:forward>必须放在response.sendRedirect之前,否则出错。
<%response.sendRedirect("test.jsp?id=2");
str=1;
%>
response.sendRedirect()执行后,其后面的语句仍会继续执行,例中str=1仍会执行。
要想后面语句不执行,可在其后加return强行返回:
<%response.sendRedirect("test.jsp?id=2");
return;
str=1;
%>
而<jsp:forward>后出现的scriptet语句就不会执行。
(5)
用户自定义的类(普通类和javabean)都必须放在包内,再放到WEB-INF\classes内,不能不放在Package就直接放在WEB-INF\classes内。
如WEB-INF\classes\MyClass.class,此时在jsp中使用此类时会找不到该类而出错,必须放在包内WEB-INF\classes\myClass\MyClass.class,再在jsp文件内使用<%@ page import="myClass.class"%>引用该类,就可以找到并正常使用该类。
相关文章
- 暂无相关文章
用户点评