加载JSP时出错 [英] Error in loading JSP

查看:140
本文介绍了加载JSP时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我正在Eclipse中开发一个小型Web应用程序。我在JSP中显示Arraylist时遇到了麻烦。

每当我尝试在网页上列出数据库中的所有用户时,加载主页需要花费大量时间,然后服务器给出了一些OutOfMemory错误,因为



线程中的异常ContainerBackgroundProcessor [StandardEngine [Catalina]]线程中的异常http-bio-8080-exec-3java.lang.OutOfMemoryError:Java堆空间

org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:116)

org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase。 java:90)

org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)

at org.apache.catalina.core.StandardWrapper。 backgroundProcess(StandardWrapper.java:704)

at org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)

org.apache。 catalina.core.ContainerBase $ ContainerBackgroundProcessor.p rocessChildren(ContainerBase.java:1540)

at org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)

org.apache。 catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)

org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.run(ContainerBase.java:1519)

at java.lang.Thread.run(Unknown Source)

java.lang.OutOfMemoryError:Java堆空间





在我的Home.java servlet中,我想要做的是,当用户点击ListMembers链接时,该网站应该将他带到ListUser.jsp。但是代码在某处被卡住了。

这是我的servlet代码:



Hi All,

I am developing a small web application in Eclipse. I have trouble showing up Arraylist in JSP.
Whenever i try to list all users in database on web page page, it takes lot of time to load home page and then server gives me some OutOfMemory error as

Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" Exception in thread "http-bio-8080-exec-3" java.lang.OutOfMemoryError: Java heap space
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:116)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)
at org.apache.catalina.core.StandardWrapper.backgroundProcess(StandardWrapper.java:704)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
at java.lang.Thread.run(Unknown Source)
java.lang.OutOfMemoryError: Java heap space


In my Home.java servlet, what i want to do is, when user clicks on ListMembers link, the site should take him to ListUser.jsp. But code is getting stuck here somewhere.
Here is my servlet code:

public class Home extends HttpServlet {
	private static final long serialVersionUID = 1L;
       String varshowusername;
       
       List<User> userslist = new ArrayList<User>();
       //Iterator<User> item = userslist.iterator();
       Saveuserdata objsaveuserdata = new Saveuserdata(); //DAO obj which has listusers method          that fetches list of user names from DB and returns Arraylist of User
    
    public Home() {
        super();
        
    }

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		varshowusername=(String) request.getSession().getAttribute("CurrentLoggedInUser");
		userslist= objsaveuserdata.getallusers();
		request.getSession().setAttribute("UserList", userslist);
		
		PrintWriter out = response.getWriter();
		
		
		out.println("<HTML>"); 
	    out.println("<TITLE>Home</TITLE>");
	    out.println("<HEAD>");
	    out.println("<link rel=stylesheet type=text/css href=/mypractice/css/mystyle1.css></link>");
	    out.println("</HEAD>");
	    out.println("<BODY>");
	    out.println("<p>"); 
	    out.println("Welcome! This is your Home Page");
	    out.print("<br>");
	    out.print(varshowusername);
	    out.print("<br>");
	  /*  out.println("<table border='2'>");
	    out.print("<tr>");
	    out.println("<td>");
	    out.println("Name");
	    out.print("<tr>");
	    while(item.hasNext()){
	    	
	    	out.print("<td>");
	    	out.print(users.getname());
	    	out.print("</td>");
	    	item.next();
	    }
	    out.print("</tr>");
	    out.println("</table>"); */
	    out.print("<a href='ListUsers.jsp'>List Members</a>");
	    request.getRequestDispatcher("ListUsers.jsp").forward(request,response);
	    out.print("<a href='Logout'>Log Out</a>");
	    out.println("</p>");
	    out.println("</BODY>");
	    out.println("</HTML>");
	    
	}





这是我的JSP代码:





Here is my JSP code:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
   <table border=1>
       
            <tr>
                <td>User Name</td>
              
            </tr>
        
        <tbody>
            <c:forEach items="${userslist}" var="users">
                <tr>
                    <td><c:out value="${users.name}" /></td>
                    
                </tr>
            </c:forEach>
        </tbody>
    </table>
</body>
</html>





另外,虽然我已将jstl1.2.jar添加到我的/ WEB-INF / lib中,但Eclipse仍然告诉我,未知标签(C:ForEach)



请帮助我!!!

我正在尝试学习servlet和JSP。

此外,如果您觉得代码中需要进行一些修改,请建议!

谢谢你的推荐。



Also, though i have added the jstl1.2.jar to my /WEB-INF/lib, the Eclipse still shows me, Unknown Tag (C:ForEach)

Please help me!!!
I am trying to learn servlets and JSPs.
Also, if you feel some modifications are needed in code, please do suggest!
Thank you in adv.

解决方案

ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)

at org.apache.catalina.core.ContainerBase
ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
at org.apache.catalina.core.ContainerBase


ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)

org.apache.catalina.core.ContainerBase
ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase


ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)

at org.apache.catalina.core.ContainerBase
ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase


这篇关于加载JSP时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆