Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- HTTP Status 500 - Servlet execution threw an exception
- type Exception report
- message Servlet execution threw an exception
- description The server encountered an internal error that prevented it from fulfilling this request.
- exception
- javax.servlet.ServletException: Servlet execution threw an exception
- org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
- root cause
- java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/JPEGCodec
- com.java4less.rchart.gc.awt.ImageEncoder.saveToJPEG(ImageEncoder.java:84)
- com.java4less.rchart.gc.awt.ImageEncoder.encode(ImageEncoder.java:41)
- com.java4less.rchart.gc.awt.ChartAwtImage.saveToStream(ChartAwtImage.java:138)
- com.java4less.rchart.Chart.saveToFile(Chart.java:1494)
- com.java4less.rchart.web.MindChartServlet.doGet(MindChartServlet.java:238)
- com.java4less.rchart.web.MindChartServlet.doPost(MindChartServlet.java:257)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
- org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
- root cause
- java.lang.ClassNotFoundException: com.sun.image.codec.jpeg.JPEGCodec
- org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
- org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
- com.java4less.rchart.gc.awt.ImageEncoder.saveToJPEG(ImageEncoder.java:84)
- com.java4less.rchart.gc.awt.ImageEncoder.encode(ImageEncoder.java:41)
- com.java4less.rchart.gc.awt.ChartAwtImage.saveToStream(ChartAwtImage.java:138)
- com.java4less.rchart.Chart.saveToFile(Chart.java:1494)
- com.java4less.rchart.web.MindChartServlet.doGet(MindChartServlet.java:238)
- com.java4less.rchart.web.MindChartServlet.doPost(MindChartServlet.java:257)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
- org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
- note The full stack trace of the root cause is available in the Apache Tomcat/8.0.30 logs.
- private Chart getChart(HttpServletRequest request) {
- ChartLoader loader = new ChartLoader();
- loader.paintDirect = true;
- String dataFile = null;
- String fileEncoding = "";
- String user = "";
- String psw = "";
- String delim = null;
- if (request != null) {
- boolean isUri = false;
- for (Enumeration ps = request.getParameterNames(); ps
- .hasMoreElements();) {
- String name = (String) ps.nextElement();
- if (!isUri) {
- loader.setParameter(name, request.getParameter(name));
- if (name.compareTo("DATAFILE") == 0) {
- dataFile = request.getParameter(name);
- }
- if (name.compareTo("PSW") == 0) {
- psw = request.getParameter(name);
- }
- if (name.compareTo("USER") == 0) {
- user = request.getParameter(name);
- }
- if (name.compareTo("FILEENCODING") == 0) {
- fileEncoding = request.getParameter(name);
- }
- if (name.compareTo("ISURI") == 0) {
- dataFile = request.getParameter(name);
- isUri = true;
- delim = "?";
- }
- } else {
- dataFile = dataFile + delim + name + "="
- + request.getParameter(name);
- delim = "&";
- }
- }
- }
- String encodedUserPsw = "";
- if (user.length() > 0) {
- String userPassword = user + ":" + psw;
- encodedUserPsw = (new BASE64Encoder()).encode(userPassword
- .getBytes());
- }
- File f = new File("a.txt");
- if (dataFile != null) {
- loader.fileEncoding = fileEncoding;
- loader.loadFromFile(dataFile, false, encodedUserPsw);
- } else {
- String[] chartparamname = new String[new Integer(
- request.getParameter("LENGTH")).intValue()];
- String[] chartparamvalue = new String[new Integer(
- request.getParameter("LENGTH")).intValue()];
- int i = 0;
- for (Enumeration ps = request.getParameterNames(); ps
- .hasMoreElements();) {
- String name = (String) ps.nextElement();
- if ((name.equals("WIDTH")) || (name.equals("HEIGHT"))
- || (name.equals("LENGTH"))
- || (name.equals("LEGEND_TITLE"))) {
- } else {
- chartparamname[i] = name;
- chartparamvalue[i] = request.getParameter(name);
- i++;
- }
- }
- loader.setvalues(chartparamname, chartparamvalue,
- request.getParameter("LEGEND_TITLE"));
- }
- Chart chart = loader.build(false, false);
- return chart;
- }
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- String encode = "jpeg";
- response.setContentType("image/" + encode);
- javax.servlet.ServletOutputStream outb = response.getOutputStream();
- response.setDateHeader("Expires", 0L);
- try {
- int w = 300;
- int h = 300;
- Chart c = getChart(request);
- c.setSize(w, h);
- c.doubleBuffering = false;
- c.saveToFile(outb, encode);
- outb.close();
- } catch (Exception e) {
- logger.error("doGet(HttpServletRequest, HttpServletResponse)", e);
- }
- }
- <dependency>
- <groupId>java4less</groupId>
- <artifactId>java4less</artifactId>
- <version>1.0.0</version>
- <optional>false</optional>
- </dependency>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement