Tag: servlets

在父上下文中声明Spring Bean与子上下文

我有一个spring bean(dao)对象,我通过下面的xml在我的ServletContext中实例化: <bean id="userDao" class="com.company.dao.impl.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> 这个bean是在我的webapp-servlet.xml文件中声明的,并被我的应用程序在ServletContext中使用。 我也使用SpringSecurity。 这是我的理解,它运行在不同的上下文(SecurityContext)。 我的应用程序有一个webapp-security.xml,我实例化一个自定义身份validation提供程序。 我想使用我的应用程序中使用我的dao也做我的安全上下文中的用户查找,但是当我运行: <bean id="userAuthenticationProvider" class="com.company.security.UserAuthenticationProvider"> <property name="userDao" ref="userDao" /> </bean> 我得到的错误说,没有这样的bean“userDao”。 这个bean在我的其他上下文中声明的bean中自动assembly,但不在我的安全上下文中。 根据Spring文档,我相信web.xml中需要两个独立的上下文 <listener> <listener-class>org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <listener> <listener-class> org.springframework.security.web.session.HttpSessionEventPublisher </listener-class> </listener> 所以我的问题是,我怎样才能访问我的我的SecurityContext中的我的ServletContext居住的DAO? 有我的道的范围修饰符,或者我可以以某种方式在我的身份validation提供程序在运行时获取ServletContext? 作为参考,这是我想如何在我的身份validation提供程序中使用它: public class UserAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider { @Override protected UserDetails retrieveUser(String userName, UsernamePasswordAuthenticationToken authenticationToken) throws AuthenticationException { // […]

从JavaScript调用一个Java servlet

我正在尝试使用MVCdevise模式创build一个Web应用程序。 对于GUI部分,我想使用JavaScript。 并为控制器Java Servlets。 现在我从来没有真正使用JavaScript,所以我很难搞清楚如何从JavaScript调用Java Servlet以及如何获得Servlet的响应。 有人可以帮我吗?

如何使用jQuery发送请求参数数组到servlet $ .ajax?

我想用jQuery $.ajax发送JavaScript数组到servlet。 var json=[1,2,3,4]; $.ajax({ url:"myUrl", type:"POST", dataType:'json', success:function(data){ // codes…. }, data:json }); 当我使用 request.getParameter("json"); request.getParameterValues("json"); 它返回null。 我怎样才能访问这些值?

通过xmlHttpRequest发送一个文件为multipart

我可以通过XMLHttpRequest将一个文件作为多部分发送到一个servlet吗? 我正在制作一个表单并将其作为多部分提交,但不知何故,我没有得到成功上传的响应。 我不希望页面被刷新,所以它必须由ajax进行。

HttpServletRequest – 如何获取引荐url?

我需要在Java Servlet中logging链接到我的网站的URL。

我如何依次执行多个servlet?

我刚刚开始使用Servlet,并设法将一些servlet作为单独的URL来填充数据库以进行一些虚拟testing。 一些forms的东西: public class Populate_ServletName extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/plain"); //Insert records //Print confirmation } } 我有大约6个这样的servlet,我想依次执行。 我正在考虑使用setLocation来设置下一个页面被redirect,但不知道这是否是正确的方法,因为redirect应该发生在插入logging之后。 具体来说,我正在寻找这样的东西: public class Populate_ALL extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/plain"); //Call Populate_1 //Call Populate_2 //Call Populate_3 //… } } 有什么build议么?

在页面加载时从JSP文件调用一个servlet

我可以从JSP文件中调用一个servlet而不使用HTML表单吗? 例如,在页面加载期间显示HTML表格中数据库的结果。

使用request.setAttribute()传递的值不能通过request.getParameter()

我给了一个stringvariables在正常的代码执行一个值,但如果发生exception,我会给它另一个值, 问题是,在catch块的价值仍然是我先分配的相同 。 这里是我的代码,首先我分配页面值“addUser”里面的try块,并在catch我给它的“ErrorPage”值,我发送页面内的http请求的值为forword方法,并在里面我打印页面的值。 我导致代码的执行错误,我希望它通过catch块,它的确如此,但是当它发送页面值的forword函数的页面的值是“addUser”而不是“ErrorPage”,虽然我分配它到“ErrorPage”! String page = "addUser"; try { // … request.setAttribute("page", page); forward(request, response); } catch (SQLException e) { page = "ErrorPage"; request.setAttribute("page", page); forward(request, response); } 这是forword函数 String page = request.getParameter("page"); System.out.println("page is " + page); // each time it prints addUSer 有人可以帮忙吗? 和thanx提前。

java.lang.NoSuchMethodError:javax.servlet.ServletContext.getContextPath()Ljava / lang / String;

当我重新启动Tomcat后,我已经将文件战争部署到Tomcat,我有一个韩国的egovframework问题,它显示如下的错误: 2011-12-23 09:16:01,101 ERROR [org.springframework.web.servlet.DispatcherServlet] Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'imageRenderer' defined in ServletContext resource [/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442) at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458) at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339) at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306) […]

在Tomcat中的上下文之间共享会话数据

我一直在寻找在多个战争文件之间共享会话数据的解决scheme。 我遇到了以下解决schemehttp://www.fwd.at/tomcat/sharing-session-data-howto.html 其基本思想是,如果您有多个war文件,则可以使用所使用的第一个上下文的sessionid来设置cookie。 可以使用适用于所有上下文/应用程序的path来设置Cookie。 例如,如果我有以下configuration3个应用程序 /myapp/app1 /myapp/app2 /myapp/app3 我可以设置一个cookie如下 / myapp sessionid。 sessionid cookie将被发送到地址中带有/ myapp的任何请求。 这允许会话ID然后被任何上下文使用。 这种方法唯一的问题是它是在2003年编写的,并在Tomcat 4上进行了testing。 你对这种方法有什么看法? 有没有更好的方法呢? 谢谢