- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在动态 Web 项目中使用 Eclipse Java EE IDE。运行我的 servlet“Controleur2”后,出现此错误:
ERROR HTTP 500
javax.servlet.ServletException: L''exécution de la servlet a lancé une exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
cause mère
java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest
servlets.ControleurForm.doPost(ControleurForm.java:44)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
cause mère
java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpUriRequest
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
servlets.ControleurForm.doPost(ControleurForm.java:44)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
这是我的 servlet:
控制者2
package servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Controleur2
*/
@WebServlet("/Controleur2")
public class Controleur2 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Controleur2() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setAttribute("orga","salut");
this.getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(request, response);
}
}
控制表
package servlets;
import java.io.IOException;
import java.util.Map;
import org.apache.http.client.methods.HttpUriRequest;
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 dataPackage.Data;
import dataPackage.Model;
/**
* Servlet implementation class ControleurForm
*/
@WebServlet("/ControleurForm")
public class ControleurForm extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ControleurForm() {
super();
// TODO Auto-generated constructor stub
}
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String orga = request.getParameter("orga"); //lecture des données fournies par l'utilisateur
Data data = new Data("2018-10-04","2018-10-05","ELECTRICITE DE France","0fe13821-9014-4cc5-a5f9-469a5a04b2e9"); //création de l'objet Data en fonction
Map<String, Object> map = data.getData(); //appel de la méthode pour récupérer la réponse
request.setAttribute("datamap",map);
this.getServletContext().getRequestDispatcher("/charts.jsp").forward(request, response);
}
}
这是我的 JSP 文件:
索引
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>StatsAPIViewer</title>
</head>
<body>
<p>Ceci est une page générée depuis une JSP.</p>
<% String attribut = (String) request.getAttribute("orga");
out.println(attribut);%>
<form method="post" action="controleurform">
<p>
<label for="orga">API :</label><br />
<select name="orga" id="orga">
<option value="ELECTRICITE">ELECTRICITE</option>
<option value="ELECTRICITEOA">ELECTRICITEOA</option>
</select>
</p>
<input type="submit" value="Envoyer" />
</form>
</body>
</html>
图表
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Your chart</title>
</head>
<body>
Page de graphes
<p>
<%
String attribut2 = (String) request.getAttribute("data");
out.println( attribut2 );
%></p>
</body>
</html>
这是我的 java 类:
数据类
package dataPackage;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Map;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
public class Data {
private String from;
private String to;
private String orga;
private String client;
public Data(String pFrom, String pTo, String pOrga, String pClient) {
from = pFrom;
to = pTo;
orga = pOrga;
client = pClient;
}
public Map<String, Object> getData() throws IOException {
Map<String, Object> mapApp = null;
String organization = URLEncoder.encode(this.orga, "UTF-8");
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
System.setProperty("jsse.enableSNIExtension", "false");
final String url = "https://vespa-prd-api1-gmg.rte-france.com/api/portal/v1.3/metrics/reports/api/summary/0?from="+ this.from+"T22%3A00%3A00Z&to="+this.to+"T13%3A23%3A58Z&organization="+organization+"&client="+this.client+"&reportsubtype=trafficAll";
final HttpGet get = new HttpGet(url);
get.addHeader("Authorization", "Basic YXBpYWRtaW46Y2hhbmdlbWU=");
//System.out.println("here");
//System.out.println(get);
try (final CloseableHttpResponse response = httpClient.execute(get)) {
if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
System.out.println("Erreur : "+response.getStatusLine().getStatusCode());
}
String jsonResponse = EntityUtils.toString(response.getEntity());
ObjectMapper objectmapper = new ObjectMapper();
ArrayList<Object> jsonList = objectmapper.readValue(jsonResponse,ArrayList.class);
//System.out.println(jsonList);
//JSON PARSER
final GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
builder.disableHtmlEscaping();
builder.serializeNulls();
builder.setLenient();
final Gson gson = builder.create();
ArrayList<Object> listFailures = new ArrayList<>();
ArrayList<Object> listTime = new ArrayList<>();
ArrayList<Object> listSuccesses = new ArrayList<>();
ArrayList<Object> listExceptions = new ArrayList<>();
ArrayList<Object> listNumMessages = new ArrayList<>();
for(Object truc : jsonList) {
String jsonInString = gson.toJson(truc); /**on force à ce qu'il soit reconnu comme json */
mapApp = gson.fromJson(jsonInString, new TypeToken<Map<String, Object>>() {}.getType()); //on l'insère dans une map
//mapApp.forEach((x,y)-> System.out.println("key : " + x + " , value : " + y));
//System.out.println(mapApp.get("totalNumMessages"));
listFailures.add(mapApp.get("totalFailures")); //on ajoute la donnée voulue dans la liste
listTime.add(mapApp.get("totalProcessingTimeAvg"));
listTime.add(mapApp.get("totalNumMessages"));
listSuccesses.add(mapApp.get("totalSuccesses"));
listExceptions.add(mapApp.get("totalExceptions"));
listNumMessages.add(mapApp.get("totalNumMessages"));
}
}
catch (IOException e) {
System.out.println(e);
}
}
return mapApp;
}
public static double sumData(ArrayList<Object> list) {
double somme=0;
for (Object objet : list) {
somme = somme + Double.parseDouble(objet.toString());
}
return somme;
}
public static double sumTime(ArrayList<Object> list) {
double somme=0;
int n = list.size();
for (int i=0; i<(n-1); i++) {
i=i+1;
somme = somme + (Double.parseDouble(list.get(i-1).toString())*(Double.parseDouble(list.get(i).toString())));
}
double moy = somme/(n/2);
return moy;
}
public static Map<String, Object> getTimeline(String from, String to, String orga, String client) throws IOException {
Map<String, Object> mapApp = null;
String organization = URLEncoder.encode(orga, "UTF-8");
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
System.setProperty("jsse.enableSNIExtension", "false");
final String url;
if (client == null) {
url = "https://vespa-prd-api1-gmg.rte-france.com/api/portal/v1.3/metrics/reports/app/timeline/0/numMessages?from="+from+"T22%3A00%3A00Z&to="+to+"T14%3A46%3A58Z&organization="+organization+"&reportsubtype=trafficAll";
}
else {
url = "https://vespa-prd-api1-gmg.rte-france.com/api/portal/v1.3/metrics/reports/app/timeline/0/numMessages?from="+from+"T22%3A00%3A00Z&to="+to+"T14%3A46%3A58Z&organization="+orga+"&client="+client+"&reportsubtype=trafficAll";
}
final HttpGet get = new HttpGet(url);
get.addHeader("Authorization", "Basic YXBpYWRtaW46Y2hhbmdlbWU=");
try (final CloseableHttpResponse response = httpClient.execute(get)) {
if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
System.out.println("Erreur : "+response.getStatusLine().getStatusCode());
}
String jsonResponse = EntityUtils.toString(response.getEntity());
ObjectMapper objectmapper = new ObjectMapper();
objectmapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
ArrayList<Object> jsonList = objectmapper.readValue(jsonResponse,ArrayList.class);
//JSON PARSER
final GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
builder.disableHtmlEscaping();
builder.serializeNulls();
builder.setLenient();
final Gson gson = builder.create();
ArrayList<Object> listData= new ArrayList<>();
for(Object truc : jsonList) {
String jsonInString = gson.toJson(truc);
mapApp = gson.fromJson(jsonInString, new TypeToken<Map<String, Object>>() {}.getType()); //on l'insère dans une map
//mapApp.forEach((x,y)-> System.out.println("key : " + x + " , value : " + y));
String jsonSeries = gson.toJson(mapApp.get("series"));
ArrayList<Object> jsonList2 = objectmapper.readValue(jsonSeries, ArrayList.class);
for (Object truc2 : jsonList2) {
String jsonString = gson.toJson(truc2);
Map<String, Object> mapApp2 = gson.fromJson(jsonString, new TypeToken<Map<String, Object>>() {}.getType());
//mapApp2.forEach((x, y) -> System.out.println("key : " + x + " , value : " + y));
listData.add(mapApp2.get("data"));
}
}
//System.out.println(listData);
}
}
return mapApp;
}
}
这是我的类路径文件(由 Eclipse 自动生成):
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.8.0_181">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0 (2)">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/gson-2.6.2.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/gson-2.8.5-javadoc.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/jackson-annotations-2.6.0.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/jackson-core-2.6.3.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/jackson-databind-2.6.3.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/jackson-dataformat-csv-2.1.2.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/commons-codec-1.10.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/commons-logging-1.2.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/fluent-hc-4.5.6.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/httpclient-4.5.6.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/httpclient-cache-4.5.6.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/httpclient-win-4.5.6.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/httpcore-4.4.10.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/httpmime-4.5.6.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/jna-4.4.0.jar"/>
<classpathentry kind="lib" path="C:/Users/piriouame/eclipse-workspace/lib/httpcomponents-client-4.5.6/lib/jna-platform-4.4.0.jar"/>
<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
</classpath>
提前感谢您的帮助:)
最佳答案
请确保 apache httpclient
lib 已加载到您的类路径中。如果您使用 maven/gradle,请检查您是否添加了给定的库。
关于java - 错误 java.lang.NoClassDefFoundError : org/apache/http/client/methods/HttpUriRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52965701/
在 Tomcat 6/Ubuntu 12.04 上启动 Grails 2.1.0 应用程序时出现以下错误。 Error 500 - Internal Server Error. groovy.lang
在运行 Storm 拓扑时,我收到此错误。拓扑完美运行 5 分钟,没有任何错误,然后失败。我正在使用 Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS as 300 sec i
我有一个 jsp 代码在其中一台机器上运行良好。但是当我复制到另一台机器时,我得到了这个 no such method found 异常。我是 Spring 的新手。有人可以解释我错过了什么吗? 以下
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我的代码在下面给出了一个错误; Exception in thread "main" java.lang.NoSuchMethodError: com/myApp/Client.cypherCBC(L
我正在尝试一个 Restful web 服务示例,所以当我要访问 url 时,我遇到了异常 java.lang.NoSuchMethodError: jersey.repackaged.com.goo
我正在将一个 Spring web 项目转换为一个 Maven 项目,但我收到了这个错误: java.lang.NoSuchMethodError: org.jboss.logging.Logger.
在我的项目中,我有一个像这样的枚举: public enum MyEnum { FIRST(1), SECOND(2); private int value; private MyEnum(int v
我创建了这个简单的示例,用于读取 Linux 正常运行时间: public String getMachineUptime() throws IOException { String[] di
我正在使用 Eclipse,并且正在使用 Java。我的目标是使用 bogoSort 方法对 vector 进行排序在一个 vector (vectorExample)中适应我的 vector 类型,
我正在运行以下查询。它显示一条错误消息。如何解决这个错误? ListrouteList=null; List companyList = session.createS
我有以下模型类: @Entity @Table(name="user_content") @org.hibernate.annotations.NamedQueries({ @org.
我有那个错误。这是我的代码: GmailSettingsService service = new GmailSettingsService(APPLICATION_NAME, DOMAIN_NAME
实际上我在执行我的java程序时遇到了下面提到的错误 Exception in thread "pool-1-thread-1" java.lang.ClassCastException: jav
java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.String 我在以下代码中遇到此异常: Strin
我正在尝试从 linkedhashset 中检索随机元素。下面是我的代码,但它每次都给我异常。 private static void generateRandomUserId(Set userIds
我已经完成了 Android 中的代码: List spinnerArray = new ArrayList(); for (int i = 0; i item = (LinkedTreeMap)
这个问题已经有答案了: Explanation of ClassCastException in Java (12 个回答) 已关闭 6 年前。 我已经编写了 java 到 Json 的代码,同时从页
这个问题在这里已经有了答案: ClassCastException java.lang.Long cannot be cast to clojure.lang.IFn (4 个答案) 关闭 6 年前
我在运行时遇到问题来编译这段代码,这给我一个错误,java.lang.Integer 无法转换为 Java.lang.Double。如果有人帮助我更正此代码,我将非常高兴 double x; pu
我是一名优秀的程序员,十分优秀!