关于/rt页面显示不出来的问题
来源:2-4 实现动态图表
龙丶
2019-11-22 12:54:59
package total;
import com.alibaba.fastjson.JSON;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@WebServlet("/rt")
public class RequsetTotalServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext context = request.getServletContext();
List<String> timeList = (List<String>) context.getAttribute("timeList");
List<Integer> valueList = (List<Integer>) context.getAttribute("valueList");
response.setContentType("text/html;charset=utf-8");
// response.getWriter().println(timeList.toString());
// response.getWriter().println("<br/>");
// response.getWriter().println(valueList.toString());
Map result =new HashMap();
result.put("timeList",timeList);
result.put("valueList",valueList);
String json= JSON.toJSONString(request);
response.getWriter().println(json);
}
}package total;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class RequestTotalListener implements ServletContextListener, ServletRequestListener {
@Override
public void contextInitialized(ServletContextEvent sre) {
List timeList = new ArrayList();
List valueList = new ArrayList();
sre.getServletContext().setAttribute("timeList", timeList);
sre.getServletContext().setAttribute("valueList", valueList);
}
@Override
public void contextDestroyed(ServletContextEvent sre) {
}
@Override
public void requestDestroyed(ServletRequestEvent sre) {
}
@Override
public void requestInitialized(ServletRequestEvent sre) {
//TimeList:10 : 02 10 : 03 10 : 04
//valueList : 5 7 10
List<String> timeList = (List) sre.getServletRequest().getAttribute("timeList");
List<Integer> valueList = (List<Integer>) sre.getServletRequest().getAttribute("valueList");
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String time = sdf.format(date);
if (timeList.indexOf(time) == -1) {
timeList.add(time);
valueList.add(1);
sre.getServletContext().setAttribute("timeList", timeList);
sre.getServletContext().setAttribute("valueList", valueList);
} else {
int index = timeList.indexOf(time);
int value = valueList.get(index);
valueList.set(index, value + 1);
sre.getServletContext().setAttribute("valueList",valueList);
}
}
}就报500的错误,这是怎么回事?

1回答
好帮手慕珊
2019-11-22
同学,你好!错误提示信息显示找不到JSON这个类,可以看一下jar包是否成功部署到Tomcat中了。
首先查看一下项目的发布目录,如下图所示,双击下面的Tomcat v8.5 Server,会出现上面的窗口。在该窗口中,先找Server Path所在的目录。要找到Server Path,需要先找到工作区,也就是项目所在的目录,在和项目所在目录同级的目录中,会看到我这里的.metadata,最终到tmp0文件夹。然后再找wtpwebapps文件夹。最后找到你工程的lib文件夹,看一下是否有fastjson的jar包,如果没有则拷贝一个过去。
注意:如果没有改过Tomcat的发布目录,基本是按照上述操作去找目录。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题