读书人

编译jsp的有关问题

发布时间: 2012-01-28 22:06:13 作者: rapoo

编译jsp的问题
WebRoot\WEB-INF\work\_jsp目录下,看到两个文件:
1._login__jsp
代码为:
package _jsp;
import javax.servlet.*;
import javax.servlet.jsp.*;
import javax.servlet.http.*;
import java.sql.*;

public class _login__jsp extends com.caucho.jsp.JavaPage{
private boolean _caucho_isDead;

public void
_jspService(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException
{
com.caucho.server.webapp.Application _jsp_application = _caucho_getApplication();
javax.servlet.ServletContext application = _jsp_application;
com.caucho.jsp.PageContextImpl pageContext = com.caucho.jsp.QJspFactory.allocatePageContext(this, _jsp_application, request, response, "/ ", null, 8192, true);
javax.servlet.jsp.JspWriter out = pageContext.getOut();
javax.servlet.ServletConfig config = getServletConfig();
javax.servlet.Servlet page = this;
response.setContentType( "text/html; charset=gb2312 ");
request.setCharacterEncoding( "GB2312 ");
try {
out.write(_jsp_string0, 0, _jsp_string0.length);
} catch (java.lang.Throwable _jsp_e) {
pageContext.handlePageException(_jsp_e);
} finally {
com.caucho.jsp.QJspFactory.freePageContext(pageContext);
}
}

private java.util.ArrayList _caucho_depends = new java.util.ArrayList();

public java.util.ArrayList _caucho_getDependList()
{
return _caucho_depends;
}

public void _caucho_addDepend(com.caucho.make.PersistentDependency depend)
{
super._caucho_addDepend(depend);
com.caucho.jsp.JavaPage.addDepend(_caucho_depends, depend);
}

public boolean _caucho_isModified()
{
if (_caucho_isDead)
return true;
if (com.caucho.util.CauchoSystem.getVersionId() != -2379814559492658711L)
return true;
for (int i = _caucho_depends.size() - 1; i > = 0; i--) {
com.caucho.make.Dependency depend;
depend = (com.caucho.make.Dependency) _caucho_depends.get(i);


if (depend.isModified())
return true;
}
return false;
}

public long _caucho_lastModified()
{
long lastModified = 0;
for (int i = _caucho_depends.size() - 1; i > = 0; i--) {
Object oDepend = _caucho_depends.get(i);
if (oDepend instanceof com.caucho.vfs.Depend) {
com.caucho.vfs.Depend depend = (com.caucho.vfs.Depend) oDepend;
if (lastModified < depend.getLastModified())
lastModified = depend.getLastModified();
}
}

return lastModified;
}

public void destroy()
{
_caucho_isDead = true;
super.destroy();
}

public void init(com.caucho.vfs.Path appDir)
throws javax.servlet.ServletException
{
com.caucho.vfs.Path resinHome = com.caucho.util.CauchoSystem.getResinHome();
com.caucho.vfs.MergePath mergePath = new com.caucho.vfs.MergePath();
mergePath.addMergePath(appDir);
mergePath.addMergePath(resinHome);
com.caucho.loader.DynamicClassLoader loader;
loader = (com.caucho.loader.DynamicClassLoader) getClass().getClassLoader();
String resourcePath = loader.getResourcePathSpecificFirst();
mergePath.addClassPath(resourcePath);
com.caucho.vfs.Depend depend;
depend = new com.caucho.vfs.Depend(appDir.lookup( "login.jsp "), -6316111347749977260L, false);
com.caucho.jsp.JavaPage.addDepend(_caucho_depends, depend);
}

private final static char []_jsp_string0;
static {
_jsp_string0 = "\r\n\r\n\r\n\r\n\r\n\r\n <!DOCTYPE HTML PUBLIC \ "-//W3C//DTD HTML 4.01 Transitional//EN\ "> \r\n <html> \r\n <head> \r\n \r\n </head> \r\n \r\n <body> \r\n <form name=\ "loginform\ " method=\ "post\ " action=\ "login.do\ "> \r\n <p> \r\n\u7528\u6237\u540d:\r\n <input type=\ "text\ " name=\ "username\ " > \r\n </p> \r\n <p> \r\n\u5bc6\u7801\uff1a\r\n\r\n <input type=\ "text\ " name=\ "password\ " > \r\n \r\n </p> \r\n\r\n\r\n <p> \r\n <input type=\ "submit\ " name=\ "Submit\ " value=\ "\u767b\u9646\ "> <a href=\ "regist.jsp\ "> \u6ce8\u518c </a> \r\n </p> \r\n <p> \r\n \r\n </p> \r\n </form> \r\n </body> \r\n </html> \r\n ".toCharArray();


}
}


2._login__jsp.java
代码为:
SMAP
_login__jsp.java
JSP
*S JSP
*F
+ 1 login.jsp
login.jsp
*L
1#1:28
36#1:29
*E


请问哪个是jsp编译器生成的Servlet代码.

[解决办法]
应该第一个是。使用ant直接编译时在tomcat的work目录会出现类似的代码。
第二个没有见过。不知道是什么。

读书人网 >Java Web开发

热点推荐