Tag: servlets

如何在我的java servlet中处理multipart / form-data POST请求?

我很难用我的java应用服务器处理multipart / form-data请求。 根据我的发现,servlet 3.0规范提供了诸如HttpServletRequest.getParts()之类的方法,这对于处理上传到我的servlet的表单数据是理想的。 但是,此方法是3.0 servlet规范的一部分,我的应用程序服务器(Tomcat 6)尚不支持此方法。 即使使用有效的3.0 web.xml文件和java EE 6库,在尝试调用getParts()时也会出现以下exception: java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getParts()Ljava/util/Collection; 切换应用程序服务器对于该项目来说并不是一个可行的选择 是否有任何第三方库可用于处理java servlet中的multipart / form-data?

HttpServlet的生命周期是什么?

基本上,servlet的实例有多长? 我有点猜测它是会话范围。 但是,我想它可能有某种超时或垃圾收集来删除旧实例。

在web.xml中映射servlet

xml文件位于我项目的WebContent/WEB-INF/web.xml中。 我正在使用Eclipse并运行Tomcat(它不是通过Eclipse安装的。我更喜欢它是一个单独的安装)。 EmployeeManagement index.html index.htm index.jsp default.html default.htm default.jsp name Pramod Registration /EmployeeManagement/WebContent/Registration 当表单页面提交给servlet时它不起作用。 我每次都会收到404错误。 我一直遇到这个问题。 有人请帮帮我。

ServletContext.getRequestDispatcher()vs ServletRequest.getRequestDispatcher()

为什么 ServletRequest接口的getRequestDispatcher(String path)不能扩展到当前servlet上下文之外 在哪里 ServletContext的getRequestDispatcher(String path)可以使用getContext(String uripath)方法为外部上下文中的资源获取RequestDispatcher。 如何?? 请帮忙

如何实现@RequestMapping自定义属性

例如 ,进行子域映射 。 本文: 在Google App Engine上为同一应用程序管理多个域和子域建议解析Filter上的子域并将变量分配给ServletRequest头。 然后映射将如下所示: @RequestMapping(value = “/path”, headers=”subdomain=www”) public String subsiteIndexPage(Model model,HttpServletRequest request) { … } 如果我们想创建自定义@RequestMapping属性,例如子域,例如。 创建这样的映射: @RequestMapping(value = “/some/action”, subdomain = “www”) public String handlerFunction(){ … } 我们应该覆盖@RequestMapping @interface定义并覆盖RequestMappingHandlerMapping受保护的方法,我们自己的实现 (如JIRA所述:“ 允许自定义请求映射条件SPR-7812 ”)。 这样对吗? 任何人都可以提供一个提示,如何实现这一function? 想法1 : 正如原始jira线程所建议的那样,就是创建自己的RequestCondition实现 有一个项目在github上使用这个解决方案: https : //github.com/rstoyanchev/spring-mvc-31-demo/ 和相关的问题: 在Spring mvc 3.1中添加自定义RequestCondition 也许类型和方法的@Subdomain(“www”)映射是可能的解决方案吗? 链接到forum.springsource.com上的相同问题

在jsp / java ee Web应用程序中加载images / css / javascript

今天我刚刚上了Java ee和动态网络项目的第一堂课……我有一个问题要问你。 我的老师要求我们用一个非常基本的mvc概念创建一个控制器。 她给了我们一些代码示例,并要求我们从控制器调用一个视图。 好的,它的确有效! 但是,如果我尝试添加图像 ,我认为我的控制器重新路由文件夹images / img.jpg,我的图像/ img.jpg是一种类型文件头中的文字…… 任何帮助,将不胜感激… 这是我的servlet Controller.java package ca.qc.lacmegantic.ville; 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 Controller */ @WebServlet(“/Controller”) public class Controller extends HttpServlet { private static final long serialVersionUID = 1L; /** * Processes requests for both HTTP […]

在servlet外部检索Init参数

我有一个我必须修改的3层应用程序。 我对Java的整个网络都很陌生,所以请耐心等待。 目前,该应用程序具有UI,应用程序和数据库层,但我试图使用dependency injection将SQL数据库与数据库层分离。 所以在某些时候我不会在我的应用程序中需要SQL服务器凭据,因为数据库后端可能是纯文本。 关键是当前的SQL凭据作为init-parameters存储在web.xml文件中。 这些是在servlet代码中获取的,如下所示: String cfgfile = getInitParameter(“config_file”); properties.load(new FileInputStream(cfgfile)); //Some code.. properties.getProperty(“dbUser”); 这发生在前端,传递给applicationlayer构造函数,后者将其传递给数据库构造函数。 所以这可行,但凭据只是传递到数据访问层,然后创建一个SQLDatabase。 所以我想我只是在SQL特定类中提取这些凭据。 但是,我仍然坚持如何将它们从web.xml文件中删除。 我尝试使用getServletContext()但似乎没有用。 我可以想象在DAL级别没有任何servlet的概念,所以我坚持如何解决这个问题。

RequestDispatcher是否在一个servlet容器中处理多个webapps?

RequestDispatcher是否可以处理多个Web应用程序? 我问,因为我有一个单一的webapp工作正常,使用RequestDispatcher而不是重定向,所以在显示错误和反馈消息时状态不会丢失。 但是我现在需要在两个webapps之间拆分一些function,因此初始调用是从webapp1上托管的网页进行的,调用webapp2最终将用户返回到webapp1上托管的页面。 显然,如果webapps和webapp2在不同的网站上使用RequestDispatcher是不可能的,但是如果两个webapps都部署在servlet容器的同一个实例中(tomcat 7) 更新 得到请求调度程序部分工作,如在答案中解释,但我无法检索放入我的webapp2中的数据,这是我使用它的原因 即 调用webapp2,进行一些处理,然后调度到webapp1上的jsp protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession userSession = request.getSession(true); String emailAddress = …… String nextPage = /finish.jsp userSession.setAttribute(“DATA”, emailAddress); ServletContext otherContext = getServletContext().getContext(“/webapp1”); otherContext.getRequestDispatcher(nextPage).forward(request, response); } webapp2 jsp文件包含 … Email() … 但始终显示null 更新2 ** 我想知道我是否误解了crossContext =“true”实际上是做什么的。 它是否可以在不同的webapps中使用相同的HttpSession,或者只是将ServletContext从一个webap可用到另一个webap,从而允许一个webapp看到另一个webapp的HttpSessions? 我开始认为我在做什么是一个坏主意,因为我一直热衷于使用vanilla servlet设置,并且从不想将自己绑定到特定的实现。 我想如果我解释为什么我首先需要拆分webapps,这可能会有所帮助。 我有一个webapp(webapp1),这是一个关于我开发的产品的网站,以及使用Google […]

ClassNotFoundException oracle.jdbc.driver.OracleDriver仅在servlet中使用Eclipse

下面的代码失败了: Class.forName(“oracle.jdbc.driver.OracleDriver”); 有错误: java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver 两个println的打印: Wed_Jun_22_11:18:51_PDT_2005 false 这让我觉得这个类存在并且可以找到。 此完全相同的类也适用于非servlet应用程序。 我已多次重启所有内容并多次重新生成应用程序/ servlet。 所有值都经过硬编码,使其简单易行。 private static Connection getDBConnection() throws Exception { System.out.println(oracle.jdbc.driver.OracleDriver.BUILD_DATE); System.out.println(Class.class.desiredAssertionStatus()); //load the driver Class.forName(“oracle.jdbc.driver.OracleDriver”); return DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:orcl”, “SYSTEM”, “pass”); } 失败的完整servlet: package servletClass_3; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; 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 OneMoreBookStore […]

java.lang.AbstractMethodError:com.mysql.jdbc.Connection.isValid(I)Z

我正在尝试使用数据源将我的Servlet连接到mysql数据库。 但每当我运行我的servlet时,我最终会得到这个exception: java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:913) org.apache.tomcat.dbcp.dbcp2.PoolableConnection.validate(PoolableConnection.java:282) org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:356) org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2306) org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2289) org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2038) org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532) Servlet.AbdulTayyebs.processRequest(AbdulTayyebs.java:36) Servlet.AbdulTayyebs.doGet(AbdulTayyebs.java:57) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 这是我的Content.xml 这是我的web.xml DB Connection jdbc/abdultayyebs javax.sql.DataSource Container 这是我的servlet AbdulTayyebs import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.SQLException; import javax.naming.Context; import javax.naming.InitialContext; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.sql.DataSource; public class AbdulTayyebs extends HttpServlet { […]