Tag: jsp

如何使会话数据可序列化

以前我们已经实现了粘性会话。 这是我们环境的链接: apache中的Sticky Session不起作用 我们的下一个任务是实现会话复制。 我们目前正在使用tomcat示例cart.jsp来演示此行为。 据说所有session属性都必须实现java.io.serializable。 你有任何关于在哪里实施它的提示吗? 我们正在密切关注本教程。 tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

当我使用Struts 2通配符配置时如何返回404错误?

我正在使用struts 2构建一个网站。 这是我的“struts.xml”的剪辑: /Pages/myresult.jsp 现在,我遇到了一个问题。 当我访问我没有设计的动作时,例如“aaabbb”,服务器将返回500错误。 由于通配符配置,struts 2将尝试调用类“com.domain.actions.UserAction”的“aaabbb”方法,但“aaabbb”方法不存在。 但是,从逻辑上讲,返回404错误更好。 如何在这些情况下返回404错误并同时使用通配符配置?

使用jpa实体管理器在spring应用程序中将blob导入mysql

我正在修改spring petclinic应用程序以将文档从用户的计算机导入MySQL。 我正在使用petclinic应用程序中的jpa体系结构,该应用程序在存储库文件中使用了EntityManager对象。 我理解我需要使用以下语法从EntityManager公开会话对象,然后创建一个blob插入到数据库中: Session session = em.unwrap(Session.class);//em is an EntityManager Blob blob = (blob)Hibernate.getLobCreator(session).createBlob(document.getFile().getInputStream(), document.getFile().getSize()); 根据petclinic jpa架构,我使用了五个java文件: View/JSP: CreateOrUpdateDocument.jsp Model: Document.java Controller: DocumentController.java Repository: JpaDocumentRepository.java Service: ClinicServiceImpl.java 我的问题是在哪里设置它以及如何设置它。 现在,我的代码抛出了以下exception,我认为这与Document.java的file属性没有给出任何注释这一事实有关: org.hibernate.MappingException: Could not determine type for: org.springframework.web.multipart.MultipartFile, at table: documents, for columns: [org.hibernate.mapping.Column(file) 我将在下面包含每个文件的相关部分,堆栈跟踪和文档表的sql定义。 为了使文档成功地从用户的计算机进入服务器上的MySQL数据库的文档表,我需要做出哪些更改? CreateOrUpdateDocument.jsp: $(function () {$(“#created”).datepicker({ dateFormat: ‘yy/mm/dd’});}); New Document Patient Add […]

HYBRIS – 组件和插槽如何在JSP文件中工作?

最近我和Hybris一起工作,我无法理解这些组件是如何工作的。 我知道如何创建和定义一个,如何将它们添加到我想要的页面等等。但我不明白如何在jsp文件中使用标记 。 在产品详细信息页面的插槽AddToCartSlot ,我添加了更多组件。 我试着像标准一样调用我的组件并评论他的行。 默认情况下,它被称为组件,如下所示: 所以我也尝试调用我的组件,但不起作用: 所以我的线路评论并取消注释他的线条,所有组件都显示在页面上。 但对我来说这没有任何意义,因为在标签cms:pageSlot的position属性中cms:pageSlot应该收到一个槽的id而不是一个组件的id来显示所有组件槽。 但是,将ID为AddToCart而不是AddToCartSlot是在页面上显示所有组件的唯一方法。 现在你会想到“如果组件在Web上显示会出现什么问题?”,问题是这些组件没有通过与它们对应的java控制器(尽管在com.myStore.storefront.controllers.ControllerConstants.java创建并声明了com.myStore.storefront.controllers.ControllerConstants.java文件)。 另外,我想了解为什么它不能正常工作。 我按照Wki Hybris的步骤进行操作,我发现所有内容都被声明为另一个正常工作的自定义组件。 我找不到差异,我无法理解为什么不通过我的控制器或为什么标签不能像插槽的id那样工作,但是当我使用组件的标识符时它“有效”。 真的,任何想法都会有所帮助。 非常感谢你。

用Java包含JSP文件

我知道jsp中的包含和外部文件可以通过以下方式完成: 但是有没有办法在java类/对象中执行此操作?

Ajax错误struts2?

我有我的动作课: try{ tspNameIdMap = slsReqMgmtCommonRemote.getTspNameIdMap(Integer.parseInt(circleId)); throw new ReqMgmtException(“Message test”); } catch(ReqMgmtException rEx){ addActionError(“Action-Error: Request Management Exception thrown”); return ERROR; } 我正在进行AJAX调用并使用Struts2-Json-plugin以JSON格式获取tspNameIdMap 。 JS:AJAX的一部分: success: function(data){ alert(‘Updated DB’); }, error: function(data){ alert(data); } 我的struts.xml : tspNameIdMap 我想在我的Ajax错误函数中使用addActionError消息。 我还想在我的JSP中显示它。 我怎么能得到这个? Ps:我是否必须在属性文件中包含此ActionError消息? 我是第一次使用它。 帮帮我 编辑 :当我跟着@Prabhakar回答我得到了错误消息,但它在AJAX调用success时返回。 另一个问题是,当我把它放在我的JSP中时, actionerror没有显示出来。 JSP:

何时提交或刷新servlet响应?

根据javadoc: in- request.getRequestDispatcher(“/Test”).forward(request,response); 应该在将响应提交给客户端之前调用forward(在刷新响应主体输出之前)。响应缓冲区中的未提交输出在转发之前自动清除。 当这个响应被提交或被刷新时,我感到困惑? 这是printwriter println写的。

使用Hibernate将下拉列表值保存到Struts 2中的数据库

我想将下拉列表的选定值保存到数据库中。 首先加载index.jsp 。 从index.jsp ,当我们点击index.jsp注册URL时,我们可以去register.jsp 。 struts.xml : register.jsp login.jsp index.jsp : Register register.jsp : 动作类是: public class RegisterAction extends ActionSupport { String name, pwd, email, address, months; int phno; List allMonths = new ArrayList(); List users = new ArrayList(); UserDao udao = new UserDao(); public List getAllMonths() { return allMonths; } public void setAllMonths(List […]

JSP / Servlet设计问题 – 通过JNDI全局提供请求/响应

在PHP中,总是能够从代码的任何部分访问当前请求或响应。 这个概念是PHP编程的基础。 请求数据,响应数据,会话数据(等)始终存在 ! 这在Java Servlets中不会发生! 为了能够访问代码中的HttpServletRequest,HttpServletResponse,HttpSession(等),您需要将它们作为函数变量传递。 这意味着您无法对本质上“知道”所有这些内容的Web框架进行编码,并消除了传递它们的复杂性。 所以,我设计了这个解决方案: 创建anf注册ServletRequestListener。 requestInitialized事件将当前的HttpServletRequest绑定到JNI上下文,给出当前Thread的名称(Thread.currentThread()。getName()); 在requestDestroyed事件解除绑定上面的JNI资源以进行清理。 这样,可以从代码的任何位置访问当前请求/响应,因为它们始终存在于JNI上下文中,并且可以通过提供当前线程的名称来检索。 所有已知的servlet容器都为每个请求实现单线程模型 ,因此请求无法混淆(当然,不能忘记清理它们)。 此外,每个Web应用程序的JNI资源在默认情况下是分开的 ,因此不存在混淆它们的问题或者可能由访问其他Web请求的Web应用程序引起的安全问题。 有点扭曲,但又好又简单…… 你怎么看?

Spring Boot会在几分钟后停止解析视图

我有一个Spring Boot应用程序,突然停止解析视图,而是向我抛出404错误。 这些是我的依赖: org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-jpa org.springframework spring-context org.apache.tomcat.embed tomcat-embed-jasper provided org.hibernate hibernate-validator com.jolbox bonecp ${bonecp.version} com.oracle ojdbc14 10.2.0.4.0 system ${basedir}/src/main/resources/lib/ojdbc14-10.2.0.4.0.jar com.google.guava guava ${guava.version} javax.inject javax.inject 1 javax.servlet jstl com.fasterxml.jackson.datatype jackson-datatype-hibernate4 2.5.3 org.springframework.boot spring-boot-starter-web 该应用程序启动正常,让我浏览没有任何问题。 但是,如果我停止查看并继续执行操作,当我刷新Web浏览器时,我会看到Tomcat 404页面: HTTP Status 404 – /WEB-INF/jsp/home.jsp type: Status report message: /WEB-INF/jsp/home.jsp description: The […]