最近看一个项目的源码的时候突然想起,既然struts2继承MVC设计模式,将视图与控制分离开,与SERVLET API的耦合降到最低,那么JSP编译执行之后的文件还是一个SERVLET吗?于是我在TOMCAT里面看了下,发现与纯JSP确实不一样,但是又很相似,大概是这种 这到底是什么?跟SERVLET有什么区别?请大虾们详细解下import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.util.*;
import com.bbs.struts.DAO.*;
import com.bbs.struts.tl.*;
import java.util.*;
import com.bbs.struts.DAO.*;public final class register_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent { private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory(); private static java.util.List _jspx_dependants; static {
_jspx_dependants = new java.util.ArrayList(4);
_jspx_dependants.add("/top.jsp");
_jspx_dependants.add("/top2.jsp");
_jspx_dependants.add("/footer.jsp");
_jspx_dependants.add("/WEB-INF/app.tld");
} private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fif_0026_005ftest;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005fid_005faction;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005felse;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005ftextfield_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fpassword_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fdefault_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fapp_005fdisplayCount_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005faction;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005ftextfield_0026_005fvalue_005fsize_005fname_005fmaxlength_005fid_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fradio_0026_005fvalue_005fname_005flist_005fcssStyle_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005ftextarea_0026_005frows_005fname_005fid_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fselect_0026_005fvalue_005frequired_005fonchange_005fname_005flist_005fid_005fheaderKey_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fonclick_005fcssClass_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fnobody; private javax.el.ExpressionFactory _el_expressionfactory;
private org.apache.AnnotationProcessor _jsp_annotationprocessor; public Object getDependants() {
return _jspx_dependants;
} public void _jspInit() {
_005fjspx_005ftagPool_005fs_005fif_0026_005ftest = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005fid_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005felse = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005ftextfield_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fpassword_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fdefault_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fapp_005fdisplayCount_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005ftextfield_0026_005fvalue_005fsize_005fname_005fmaxlength_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fradio_0026_005fvalue_005fname_005flist_005fcssStyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005ftextarea_0026_005frows_005fname_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fselect_0026_005fvalue_005frequired_005fonchange_005fname_005flist_005fid_005fheaderKey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fonclick_005fcssClass_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
_jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
} public void _jspDestroy() {
_005fjspx_005ftagPool_005fs_005fif_0026_005ftest.release();
_005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005fid_005faction.release();
_005fjspx_005ftagPool_005fs_005felse.release();
_005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fnobody.release();
_005fjspx_005ftagPool_005fs_005ftextfield_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fpassword_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fdefault_005fnobody.release();
_005fjspx_005ftagPool_005fapp_005fdisplayCount_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005faction.release();
_005fjspx_005ftagPool_005fs_005ftextfield_0026_005fvalue_005fsize_005fname_005fmaxlength_005fid_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fradio_0026_005fvalue_005fname_005flist_005fcssStyle_005fnobody.release();
_005fjspx_005ftagPool_005fs_005ftextarea_0026_005frows_005fname_005fid_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fselect_0026_005fvalue_005frequired_005fonchange_005fname_005flist_005fid_005fheaderKey_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fonclick_005fcssClass_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fnobody.release();
} public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
。。
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.util.*;
import com.bbs.struts.DAO.*;
import com.bbs.struts.tl.*;
import java.util.*;
import com.bbs.struts.DAO.*;public final class register_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent { private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory(); private static java.util.List _jspx_dependants; static {
_jspx_dependants = new java.util.ArrayList(4);
_jspx_dependants.add("/top.jsp");
_jspx_dependants.add("/top2.jsp");
_jspx_dependants.add("/footer.jsp");
_jspx_dependants.add("/WEB-INF/app.tld");
} private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fif_0026_005ftest;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005fid_005faction;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005felse;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005ftextfield_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fpassword_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fdefault_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fapp_005fdisplayCount_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005faction;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005ftextfield_0026_005fvalue_005fsize_005fname_005fmaxlength_005fid_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fradio_0026_005fvalue_005fname_005flist_005fcssStyle_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005ftextarea_0026_005frows_005fname_005fid_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fselect_0026_005fvalue_005frequired_005fonchange_005fname_005flist_005fid_005fheaderKey_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fonclick_005fcssClass_005fnobody;
private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fnobody; private javax.el.ExpressionFactory _el_expressionfactory;
private org.apache.AnnotationProcessor _jsp_annotationprocessor; public Object getDependants() {
return _jspx_dependants;
} public void _jspInit() {
_005fjspx_005ftagPool_005fs_005fif_0026_005ftest = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005fid_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005felse = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005ftextfield_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fpassword_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fdefault_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fapp_005fdisplayCount_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005ftextfield_0026_005fvalue_005fsize_005fname_005fmaxlength_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fradio_0026_005fvalue_005fname_005flist_005fcssStyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005ftextarea_0026_005frows_005fname_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fselect_0026_005fvalue_005frequired_005fonchange_005fname_005flist_005fid_005fheaderKey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fonclick_005fcssClass_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
_jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
} public void _jspDestroy() {
_005fjspx_005ftagPool_005fs_005fif_0026_005ftest.release();
_005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005fid_005faction.release();
_005fjspx_005ftagPool_005fs_005felse.release();
_005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fnobody.release();
_005fjspx_005ftagPool_005fs_005ftextfield_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fpassword_0026_005fsize_005fname_005fmaxlength_005fid_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fproperty_0026_005fvalue_005fdefault_005fnobody.release();
_005fjspx_005ftagPool_005fapp_005fdisplayCount_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fform_0026_005fnamespace_005faction.release();
_005fjspx_005ftagPool_005fs_005ftextfield_0026_005fvalue_005fsize_005fname_005fmaxlength_005fid_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fradio_0026_005fvalue_005fname_005flist_005fcssStyle_005fnobody.release();
_005fjspx_005ftagPool_005fs_005ftextarea_0026_005frows_005fname_005fid_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fselect_0026_005fvalue_005frequired_005fonchange_005fname_005flist_005fid_005fheaderKey_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fonclick_005fcssClass_005fnobody.release();
_005fjspx_005ftagPool_005fs_005fsubmit_0026_005fvalue_005ftype_005fnobody.release();
} public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
。。
解决方案 »
- web.xml中设置先到servlet在通过servlet转到index.jsp
- DAO模式的好处是什么?
- 新手请教struts2.1+spring2.5.6+hibernate3.2.2搭建问题
- 分页java
- 生成XML问题
- 改行问题,高手帮忙分析一下..
- 有没有哪位遇到或知道displaytag中使用href时的空指针异常问题?
- 讨论:多大的系统才叫“大型”系统?
- 高分求JavaMail邮件发送问题答案!!(200)(UP有分)
- CMP2.0发布时JNDI的问题
- VNC客户短短开发遇到的问题,懂rfb协议的高人进来
- 求一个STRUTS2 SQLSERVER2000的连接池的代码,最好有个例子
难道还有servlet的jsp
而HttpJspBase这个类是继承自HttpServlet的 很明显是个servlet
eclipse可以ctrl+shift+T搜下这2个类就知道了
继承HttpJspBase,就是因为他在HttpServlet的基础上增加了很多帮助jsp的功能。直接继承HttpServlet,生成的代码更冗长。另外,代码的长短和运行时间没有任何关系。话说下面这行代码,就一行,但是运行时间最长
for(;;);