相关疑难解决方法(0)

servlet如何工作?实例化,会话,共享变量和多线程

假设,我有一个拥有大量servlet的Web服务器.对于在这些servlet之间传递的信息,我正在设置会话和实例变量.

现在,如果有2个或更多用户向此服务器发送请求,那么会话变量会发生什么?它们对所有用户都是通用的,或者对于每个用户而言都是不同的.如果它们不同,那么服务器如何区分不同的用户?

还有一个类似的问题,如果有n用户访问特定的servlet,那么这个servlet只在第一个用户第一次访问它时实例化,或者是否为所有用户单独实例化?换句话说,实例变量会发生什么?

java multithreading servlets session-variables instance-variables

1105
推荐指数
6
解决办法
28万
查看次数

如何使用JSP/Servlet将文件上传到服务器?

如何使用JSP/Servlet将文件上传到服务器?我试过这个:

<form action="upload" method="post">
    <input type="text" name="description" />
    <input type="file" name="file" />
    <input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

但是,我只获取文件名,而不是文件内容.当我添加 enctype="multipart/form-data"<form>,然后request.getParameter()返回null.

在研究期间,我偶然发现了Apache Common FileUpload.我试过这个:

FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request); // This line is where it died.
Run Code Online (Sandbox Code Playgroud)

不幸的是,servlet抛出了一个没有明确消息和原因的异常.这是堆栈跟踪:

SEVERE: Servlet.service() for servlet UploadServlet threw exception
javax.servlet.ServletException: Servlet execution threw an exception
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
    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:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at …
Run Code Online (Sandbox Code Playgroud)

java jsp servlets file-upload java-ee

671
推荐指数
7
解决办法
54万
查看次数

如何在java中发送HTTP请求?

在Java中,如何编写HTTP请求消息并将其发送到HTTP WebServer?

html java http httpwebrequest

392
推荐指数
10
解决办法
92万
查看次数

Java中的简单HTTP服务器,仅使用Java SE API

有没有办法只使用Java SE API在Java中创建一个非常基本的HTTP服务器(仅支持GET/POST),而无需编写代码来手动解析HTTP请求并手动格式化HTTP响应?Java SE API很好地将HTTP客户端功能封装在HttpURLConnection中,但是有一个用于HTTP服务器功能的模拟吗?

为了清楚起见,我在网上看到的很多ServerSocket示例的问题是他们自己做了请求解析/响应格式化和错误处理,这很乏味,容易出错,而且不太全面,我出于这些原因试图避免它.

作为我试图避免的手动HTTP操作的示例:

http://java.sun.com/developer/technicalArticles/Networking/Webserver/WebServercode.html

java http httpserver

318
推荐指数
15
解决办法
37万
查看次数

如何使用NameValuePair使用POST向HttpURLConnection添加参数

我试图做POSTHttpURLConnection(我需要使用这种方式,不能使用HttpPost),我想参数添加到连接如

post.setEntity(new UrlEncodedFormEntity(nvp));
Run Code Online (Sandbox Code Playgroud)

哪里

nvp = new ArrayList<NameValuePair>();
Run Code Online (Sandbox Code Playgroud)

有一些数据存储在.我找不到如何将此添加ArrayList到我HttpURLConnection这里的方法:

HttpsURLConnection https = (HttpsURLConnection) url.openConnection();
https.setHostnameVerifier(DO_NOT_VERIFY);
http = https;
http.setRequestMethod("POST");
http.setDoInput(true);
http.setDoOutput(true);
Run Code Online (Sandbox Code Playgroud)

这种尴尬的https和http组合的原因是不需要验证证书.但这不是问题,它可以很好地发布服务器.但是我需要用论据发帖.

有任何想法吗?


重复免责声明:

回到2012年,我不知道如何将参数插入到HTTP POST请求中.我一直在坚持,NameValuePair因为它是在教程中.这个问题可能看似重复,但是,我的2012年自我阅读了其他问题并且它没有使用NameValuePair.事实上,它并没有解决我的问题.

post android http-post httpurlconnection basicnamevaluepair

252
推荐指数
8
解决办法
41万
查看次数

领先的Java HTML解析器的优缺点是什么?

在搜索SO和Google时,我发现有一些Java HTML解析器一直被各方推荐.不幸的是,很难找到有关各种图书馆优势和劣势的任何信息.我希望有些人花了一些时间来比较这些库,并且可以分享他们学到的东西.

这是我见过的:

如果有一个我错过的主要解析器,我也很想知道它的优点和缺点.

谢谢!

html java parsing

174
推荐指数
5
解决办法
5万
查看次数

137
推荐指数
4
解决办法
36万
查看次数

使用带HttpURLConnection的POST发送文件

由于Android开发人员建议使用HttpURLConnection该类,我想知道是否有人可以为我提供一个很好的示例,说明如何通过POST将位图"文件"(实际上是内存中的流)发送到Apache HTTP服务器.我对cookie或身份验证或任何复杂的东西不感兴趣,但我只想拥有一个可靠的逻辑实现.我在这里看到的所有例子看起来更像是"让我们试试这个,也许它有效".

现在,我有这个代码:

URL url;
HttpURLConnection urlConnection = null;
try {
    url = new URL("http://example.com/server.cgi");

    urlConnection = (HttpURLConnection) url.openConnection();

} catch (Exception e) {
    this.showDialog(getApplicationContext(), e.getMessage());
}
finally {
    if (urlConnection != null)
    {
        urlConnection.disconnect();
    }
}
Run Code Online (Sandbox Code Playgroud)

showDialog应该只显示一个AlertDialog(如果URL无效?).

现在,让我们说我生成一个这样的位图:Bitmap image = this.getBitmap()在一个派生的控件中View,我想通过POST发送它.实现这样的事情的正确程序是什么?我需要使用哪些课程?我可以HttpPost这个例子中使用吗?如果是这样,我将如何构建InputStreamEntity我的位图?我觉得要首先将位图存储在设备上的文件中是令人反感的.


我还要提一下,我真的需要将原始位图的每个未经改变的像素发送到服务器,因此我无法将其转换为JPEG.

post android client-server http httpurlconnection

119
推荐指数
4
解决办法
15万
查看次数

来自URL的InputStream

如何从URL获取InputStream?

例如,我想将文件放在url上,wwww.somewebsite.com/a.txt并通过servlet将其作为Java中的InputStream读取.

我试过了

InputStream is = new FileInputStream("wwww.somewebsite.com/a.txt");
Run Code Online (Sandbox Code Playgroud)

但我得到的是一个错误:

java.io.FileNotFoundException
Run Code Online (Sandbox Code Playgroud)

java url inputstream

108
推荐指数
4
解决办法
14万
查看次数

如何在Google Programmatically Java API中搜索

有没有人知道是否以及如何以编程方式搜索Google - 特别是如果有Java API?

java google-search-api

104
推荐指数
3
解决办法
11万
查看次数