我的dao代码没一点问题,在jsp页面中加了
<%
int rowCount=dao.getNum();
....
List=dao.getUserTable(pageSize,pageNow);
....
%>
然后,无论打开这个站点内任何其他jsp都出现下面这个:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 22 in the generated java file
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
求解释,求改写,求各种求!!!!!!!
谢谢。。
<%
int rowCount=dao.getNum();
....
List=dao.getUserTable(pageSize,pageNow);
....
%>
然后,无论打开这个站点内任何其他jsp都出现下面这个:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 22 in the generated java file
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
求解释,求改写,求各种求!!!!!!!
谢谢。。
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
这里报错,怀疑是jsp中有错误,或者你删除work目录中的缓存试下呢。或者换个高版本的tomcat
_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
_jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
}
这个看不懂。。
http://zhouhaitao.iteye.com/blog/985737
int n=0;
String sql="select count(*) from users";
try {
conn=ConnectionFactory.getConnection();
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
if(rs.next()){
n=rs.getInt(1);
}
close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return n;
}
public List<UserBean> getTableUser(int pageNow,int pageSize){
String sql="select top "+pageSize+" * from users where number not in(select top "+(pageNow-1)+" number from users) order by grade desc";
List<UserBean> l=new ArrayList<UserBean>();
try {
conn=ConnectionFactory.getConnection();
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()){
UserBean bean=new UserBean();
bean.setNumber(rs.getString(1));
bean.setPassword(rs.getString(2));
bean.setName(rs.getString(3));
bean.setSex(rs.getString(4));
bean.setBorn(rs.getString(5));
bean.setSubject(rs.getString(6));
bean.setUrl(rs.getString(7));
bean.setGrade(rs.getInt(8));
bean.setDepartment(rs.getString(9));
bean.setJob(rs.getString(10));
bean.setState(rs.getString(11));
l.add(bean);
}
UserBean bean=new UserBean();
Iterator<UserBean> it=l.iterator();
while(it.hasNext()){
bean=(UserBean)it.next();
System.out.println("+++++++++"+bean.getNumber());
}
close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return l;
原来的代码,不是jsp引擎生成的代码 !
<%@ page import="xx.xx.xx.dao"%>
把dao类import进去
难道不是
List list = dao.getUserTable(pageSize,pageNow);???
你所用的List,DAO应该加入import中。