Tag: java ee

使用Marshaller将Java对象转换为Json

使用Marshaller将java对象转换为XML非常容易。 但我需要单独使用marshaller将java对象转换为JSON。 我知道使用gson或Xstream就好了。但我需要使用Marshaller。如何实现它? 提前致谢。

ThreadLocal在servlet中存储ServletRequest和Response:对于什么?

一旦我遇到了一个模式,将ServletRequest和响应对象放到servlet的本地ThreadLocal变量中。 servlet类还有获取当前请求和响应对象的方法。 因此,为了获得这些对象,您仍然需要使用servlet对象。 拥有这些ThrealLocal局部变量有什么意义?

我可以动态卸载和重新加载(相同的其他版本)JAR吗?

我正在编写一个服务器程序,用于运行API的unit testing(显示大量信息并提供Web访问来控制/监控整个事物)… 此API 在编译期间为服务器所知,并作为JAR提供。 为了能够比较不同版本 API的unit testing结果(无需重新启动服务器),我希望能够卸载API的“当前”版本,并重新加载较新版本(或较旧的版本) 。 我不想使用URLClassLoader并按名称调用每个方法 (使用getDeclaredMethod(“someMethod”) ), 因为服务器在很大程度上依赖于API,以这种脏的方式“包装”每个方法调用会很复杂。 我在想:由于JAR的所有版本的所有接口都是相同的 ,我不能通过某种方式重新加载其他版本的JAR(没有那个by-name-invokation?)。 注意:我使用的是最新的Java SE(6)和Java EE(5)。 如果您认为,我想要实现的目标是不可能的,请提出“解决方法”或不同的概念。

会话到期后自动注销

我们的应用程序在30分钟后注销并被重定向到登录页面,我在web.xml中指定会话超时并使用requestProcessor进行重定向。我想向用户显示一条消息,说明会话到期后会话已过期,如何我可以那样做。自动注销? 我想提示页面上的错误消息“会话超时,请再次登录”。 然后,我怎么能检测到会话超时? 任何方法会自动触发吗?

servlet的根URl

我想从一个servlet获取我的Web应用程序的根URL。 如果我在“www.mydomain.com”中部署我的应用程序,我想获得像“ http://www.mydomain.com ”这样的根URL。 如果我在具有8080端口的本地tomcat服务器中部署它,它应该给出http://localhost:8080/myapp 谁能告诉我如何从servlet获取我的Web应用程序的根URL? public class MyServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String rootURL=””; //Code to get the URL where this servlet is deployed } }

javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure

我在尝试了两天的许多选项之后发布了这个问题。 以下是我尝试过的选项。 禁用ssl证书validation 通过从浏览器下载crt并转换为.jks并导入密钥库。 我仍然得到这个问题,提前非常感谢任何帮助。 javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.Alerts.getSSLException(Alerts.java:154) at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1943) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1059) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1294) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1321) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1305) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:523) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) at com.honeywell.sensibo.api.NewMain.main(NewMain.java:73)

是否不鼓励在Java EE容器中使用Java 8并行流?

鉴于不鼓励在Java EE容器中生成线程 。 在Java EE中使用Java 8并行流可能会产生线程吗?

如何在Java EE环境中管理数据库和文件系统的事务?

我将文件的属性(大小,更新时间……)存储在数据库中。 所以问题是如何管理数据库和文件的事务。 在Java EE环境中,JTA只能管理数据库事务。 如果更新数据库成功但文件操作失败,我应该为此编写文件回滚方法吗? 此外,EJB容器中的文件操作违反了EJB规范。 你怎么看?

如何使用spring java配置在单例bean中生成原型对象

这是我现在的工作正常。 它所做的只是一个返回项目对象数组的市场类: 我有上课的市场 class market { public ArrayList createItems(HashMap map) { ArrayList array = new ArrayList(); for (Map.Entry m : map.entrySet()) { Item item = new Item(); item.setName(m.key()); item.setValue(m.value()); array.add(item); } return array; } } class Item是带有getter和setter的名称和值的简单类 以下是我的配置文件的外观: @Configuration public class MarketConfig { @Bean public Market market() { return new Market(); } } 我想如何改变我的代码:(原因:我不想要 Item […]

Tomcat支持哪些技术?

我阅读了很多关于它支持整个Java EE 6规范的GlassFish应用服务器。 但Tomcat支持哪些? 我知道Tomcat是一个JSP / Servlet容器,但我在Web上看到有关“JSF和Tomcat”,“Hibernate和Tomcat”等的文章。 tomcat可以使用这些技术:EJB,JSF,JPA,Hibernate,Spring等。?