我的servlet代码看起来像这样:
response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
ServletOutputStream out = response.getOutputStream();
out.println(...MY-UTF-8 CODE...);
Run Code Online (Sandbox Code Playgroud)
...
然后我得到错误:
java.io.CharConversionException: Not an ISO 8859-1 character: ?
javax.servlet.ServletOutputStream.print(ServletOutputStream.java:89)
javax.servlet.ServletOutputStream.println(ServletOutputStream.java:242)
rtm.servlets.CampaignLogicServlet.doPost(CampaignLogicServlet.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Run Code Online (Sandbox Code Playgroud)
如何切换Servlet输出流的字符集?
我正在尝试上传ajax文件.我读到如果不使用它就不可能做到这一点iframe.
我写 :
<iframe id="uploadTrg" name="uploadTrg" height="0" width="0" frameborder="0" scrolling="yes"></iframe>
<form id="myForm" action="file-component" method="post" enctype="multipart/form-data" target="uploadTrg">
File: <input type="file" name="file">
<input type="submit" value="Submit" id="submitBtn"/>
</form>
Run Code Online (Sandbox Code Playgroud)
并使用jquery表单插件:
$('#myForm').ajaxForm({
dataType: 'json',
success: function(data){
alert(data.toSource());
}
});
Run Code Online (Sandbox Code Playgroud)
结果 :
文件上传成功,我可以看到上传的文件,但会出现一个对话框:
因为我发回一个json结果来显示文件名+大小等.
我的问题: 如何使用iFrame进行"ajax文件上传".
注意:
谢谢
我在Tomcat上运行Web应用程序.我有一个处理所有数据库查询的类.此类包含Connection返回查询结果的对象和方法.
这是连接对象:
private static Connection conn = null;
Run Code Online (Sandbox Code Playgroud)
它只有一个实例(单例).
另外,我有执行查询的方法,例如在db中搜索用户:
public static ResultSet searchUser(String user, String pass) throws SQLException
Run Code Online (Sandbox Code Playgroud)
此方法使用静态Connection对象.我的问题是,我在静态Connection对象线程中的使用是否安全?或者当很多用户调用该searchUser方法时会引起问题吗?
我正在编写需要提取发布到servlet的对象文字的代码.我已经研究了HttpServletRequest对象的API,但是我不清楚如何从请求中获取JSON对象,因为它不是从网页上的表单元素发布的.
任何见解都表示赞赏.
谢谢.
假设我有一个运行的基于Java的Web应用程序,其中包含0个或更多HttpSession与之关联的有效对象.我想要一种方法来访问当前的有效HttpSession对象列表.我在想我可以实现一个HttpSessionListener并使用它来追加存储在应用程序范围的属性中的会话ID值列表,但随后会因会话失效而更新列表并且谁知道是什么其他.
在我开始烘焙自己的解决方案之前,我想我应该问一个问题:
servlet API是否提供了一些访问完整的非失效会话对象列表的方法?
我使用Tomcat 6.x作为我的Web应用程序容器和MyFaces 1.2.x(JSF)库.
解决方案
我遵循类似于BalusC在这些现有问题中讨论的方法:
我按SessionData类修改了实现HttpSessionBindingListener.当绑定事件发生时,对象将从所有SessionData对象的集合中添加或删除自身.
@Override
public void valueBound(HttpSessionBindingEvent event) {
// Get my custom application-scoped attribute
ApplicationData applicationData = getApplicationData();
// Get the set of all SessionData objects and add myself to it
Set<SessionData> activeSessions = applicationData.getActiveSessions();
if (!activeSessions.contains(this)) {
activeSessions.add(this);
}
}
@Override
public void valueUnbound(HttpSessionBindingEvent event) {
HttpSession session = event.getSession();
ApplicationData applicationData = getApplicationData();
Set<SessionData> activeSessions …Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一种方法将我的请求从过滤器重定向到登录页面,但我不知道如何从servlet重定向.我搜索但我发现的是sendRedirect()方法.我无法在过滤器中找到我的响应对象.原因是什么?我怎么解决这个问题?
有没有人知道从Eclipse中调试JSP的好工具?我希望能够在应用程序运行时设置和观察断点,逐步浏览Eclipse中的Java代码/标记等(在我的情况下,在JBoss下).
据推测,调试从JSP生成的servlet类是相当简单的,但它也相当没有吸引力.
可能重复一次!我使用Tomcat作为我的服务器,并想知道什么是在确定性结果的servlet中生成线程的最佳方法.我正在从servlet操作运行一些长时间运行的更新,并希望完成请求并在后台进行更新.而不是添加像RabbitMQ这样的消息中间件,我想我可以生成一个可以在后台运行并在自己的时间内完成的线程.我在其他SO线程中读到服务器终止服务器生成的线程,以便它能够很好地管理资源.
在使用Tomcat时是否有推荐的方法来生成线程,后台作业.我还使用Spring MVC作为应用程序.
我正在尝试从GWT servlet发出get请求以从Web服务获取JSON响应.以下是我的servlet中的代码:
public String getQueData() throws IllegalArgumentException {
String message = null;
try {
HttpClient httpclient = new DefaultHttpClient();
JSONParser parser = new JSONParser();
String url = "working - url";
HttpResponse response = null;
response = httpclient.execute(new HttpGet(url));
JSONObject json_data = null;
json_data = (JSONObject)parser.parse(EntityUtils.toString(response.getEntity()));
JSONArray results = (JSONArray)json_data.get("result");
for (Object queid : results) {
message = message.concat((String) ((JSONObject)queid).get("id"));
message = message.concat("\t");
message = message.concat((String) ((JSONObject)queid).get("owner"));
message = message.concat("\n");
}
} catch (Exception e) {
message = e.toString();
}
return …Run Code Online (Sandbox Code Playgroud) servlets ×10
java ×7
json ×2
ajax ×1
connection ×1
debugging ×1
eclipse ×1
file-upload ×1
gwt ×1
html ×1
httpsession ×1
jdbc ×1
jquery ×1
jsp ×1
post ×1
redirect ×1
spring-mvc ×1
tomcat ×1
utf-8 ×1