Tag: tomcat

最佳实践 – 发送javamail mime多部分电子邮件 – 和gmail

我有一个需要发送确认电子邮件等的Tomcat应用程序。我已经使用Javamail(mail.jar)编写了电子邮件编辑器,以发送多部分文本/ HTML电子邮件。 我将代码基于Java EE示例。 我在本地服务器上使用SMTP MTA。 它很棒。 在Outlook中,我看到了HTML版本。 如果我将其拖到Outlook垃圾邮件文件夹中,我会看到文本版本。 所以我解释说它有效。 但是,如果我在Gmail中查看电子邮件,我只会看到文字版本。 我知道HTML就在那里(这就是Outlook从中得到的)。 但Gmail没有显示它……我有很多来自其他系统的电子邮件,在Gmail中显示为HTML。 任何人都能指出我显示我失踪的规格吗? 我需要创建特殊标题吗? 谢谢 代码如下所示: Message message = new MimeMessage(session); Multipart multiPart = new MimeMultipart(“alternative”); try { MimeBodyPart textPart = new MimeBodyPart(); textPart.setText(text, “utf-8”); MimeBodyPart htmlPart = new MimeBodyPart(); htmlPart.setContent(html, “text/html; charset=utf-8”); multiPart.addBodyPart(htmlPart); multiPart.addBodyPart(textPart); message.setContent(multiPart); if(from != null){ message.setFrom(new InternetAddress(from)); }else message.setFrom(); if(replyto […]

如何在不同端口上运行的tomcat中部署多个Web应用程序?

如何在tomcat中部署多个java web应用程序,它们将运行在不同的端口上? – 如何进行设置以便在不同的端口上运行不同的Web应用程序 – 为实现这一目标需要做些什么?

如何根据Content-type添加响应头; 在提交响应之前获取Content-type

我想为所有image/*和text/css设置Expires标头。 我在Filter这样做。 然而: 在调用chain.doFilter(..) ,Content-type尚未“实现” 在调用chain.doFilter(..) ,设置了Content-type,但是content-length也是如此,它禁止添加新的头文件(至少在Tomcat实现中) 我可以使用所请求资源的扩展,但由于某些css文件是由richfaces通过从jar文件中获取而生成的,因此该文件的名称不是x.css ,而是/xx/yy/zz.xcss/DATB/… 那么,有没有办法在提交响应之前获取Content-type。

如何在java.net.URLConnection上指定本地地址?

我的Tomcat实例正在侦听多个IP地址,但我想控制打开URLConnection时使用的源IP地址。 我怎么指定这个?

除了localhost之外,如何配置与Spring集成的嵌入式Tomcat来监听对IP地址的请求?

我试图从spring指南运行示例: 构建RESTful Web服务 。 如果我打开localhost:8080 / greeting,它会很好用。 但是,如果我打开192.168.1.111:8080/greeting或140.112.134.22:8080/greeting ,它就无法建立连接,尽管我的计算机实际上在互联网上使用了这两个IP。 有人可以建议我如何在Spring中配置嵌入式Tomcat以接受其他IP地址上的HTTP请求,除了localhost(即127.0.0.1)? 谢谢! 🙂

ClassNotFoundException启动Tomcat时的DispatcherServlet(Maven依赖项未复制到wtpwebapps)

我已经遇到过这个问题几次而且只是偶然发现了一个(半)可靠的解决方案,所以我想在这里发布它以防万一它可以帮助其他人,或者万一我忘了它,还要问是否有人知道根本原因是什么以及为什么我的修复工作。 问题 – 我有一个spring 3 webapp,我想在Eclipse中使用Run on Server选项在Tomcat 7服务器上运行。 对于一些项目,这只是有效,但有些似乎处于破碎状态,每次服务器启动时,我都会找到一个未找到的类:org.springframework.web.servlet.DispatcherServlet。 经过一番调查后,我发现该项目的maven依赖项尚未复制到${PROJECT_LOCATION}/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ WEB-INF/lib ${PROJECT_LOCATION}/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ 在最终注意到项目在“问题”面板中发出警告之前,我尝试了很多事情: Classpath entry org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtime ClassNotFoundExceptions may result. 也许我应该早点注意到这一点。 无论如何,选择这个并执行“快速修复”可以解决问题,我可以愉快地运行我的项目。 快速解决方法是:“将关联的原始类路径条目标记为发布/导出依赖项”。 麻烦的是,虽然这有效,但我不知道这意味着什么。 完成后,我的项目配置中看不到任何明显的变化。 我很想知道实际问题是什么,以及我是否可以避免它再次发生。 我还想知道是否有一些我自己可以完成的事情(除了执行快速修复之外)可以修复它,因为我觉得我几乎尝试了其他一切。 谢谢你的帮助。

嵌入式tomcat 7 servlet 3.0注释无法正常工作

我有一个剥离测试项目,其中包含一个Servlet版本3.0,使用如下注释声明: @WebServlet(“/test”) public class TestServlet extends HttpServlet { private static final long serialVersionUID = -3010230838088656008L; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{ response.getWriter().write(“Test”); response.getWriter().flush(); response.getWriter().close(); } } 我也有一个像这样的web.xml文件: testServlet g1.TestServlet testServlet /testWebXml 我尝试使用嵌入式Tomcat 7进行JUnit测试。当我启动嵌入式Tomcat时,我只能通过web.xml(/ testWebXml)中声明的url-pattern访问servlet。 如果我尝试通过注释(/ test)声明的url-pattern访问它,则找不到404页面。 这是我测试的代码: String webappDirLocation = “src/main/webapp/”; Tomcat tomcat = new Tomcat(); tomcat.setPort(8080); tomcat.addWebapp(“/jerseyTest”, new File(webappDirLocation).getAbsolutePath()); tomcat.start(); tomcat.getServer().await(); […]

如何在Tomcat 6中使用JTA支持Hibernate?

他们建议在Java EE环境中使用JTA事务支持。 但是如何在Tomcat6中配置JTA以便Hibernate Session可以使用它呢? 从版本3.0.1开始,Hibernate添加了SessionFactory.getCurrentSession()方法。 最初,这假定使用JTA事务,其中JTA事务定义了当前会话的范围和上下文。 鉴于众多独立JTA TransactionManager实现的成熟,大多数(如果不是全部)应用程序应该使用JTA事务管理,无论它们是否部署到J2EE容器中。 基于此,您需要使用基于JTA的上下文会话。 ( Hibernate参考文档|架构。上下文会话 )

使用.html文件作为JSP

这可能是一个愚蠢的问题,但我在谷歌上搜索时没有找到答案。 目前,我将来自someFileName.html的请求映射到servlet,然后使用web.xml中的servlet映射将其转发到someFileName.jsp。 我想避免这种情况,只需配置我的应用程序服务器,以便解析和执行html文件,就好像它们是JSP一样(这样可以在HTML中使用自定义标记和EL)。 奖励答案,允许任何扩展映射到JSP处理器。 我使用Tomcat,但我希望解决方案可以移植到其他容器,如Glassfish。

跨JVM或Application实例或Tomcat实例的单例

如果我在Tomcat(或任何其他服务器)的单个实例上部署并运行相同应用程序的2个实例。 然后将创建一个单独的对象(Singleton类): 跨越Tomcat的单个实例(但对于同一应用程序的2个实例是常见的)或 跨应用程序实例(2个应用程序实例不同) 所以基本上我想要理解的是,每个JVM都会创建一个Singleton类的单个对象吗? 如果应用程序托管在Web服务器(或容器)上,这是如何工作的。