- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 JavaEE 很陌生。我经历了一种我无法向自己解释的奇怪行为。
我有一个index.jsp,其中包含一个带有搜索词和提交按钮的表单。
在 POST 上,我调用一个处理 doPost 方法的 Servlet。在该方法中,我获取了一个 JPA EntityManager 并通过 id 获取了存储在数据库中的 Item 实体的实例。
然后将结果项存储为请求属性。 (如果我正确阅读我的书,它仅在我当前提出的请求中有效)
最后,我使用请求调度程序转发回index.jsp。
在index.jsp 中有一个表达式,如果未设置请求属性,则输出项目的标题或空字符串。
当我的数据库中有一个项目具有通过 EM 找到的确切 ID 时,一切正常。在index.jsp 上,在POST 请求之后,将显示项目的标题。
然后我删除了数据库项目。
但是,在后续请求中,将显示项目的标题(已删除),而不是显示空字符串。
这是我没有预料到且无法解释的行为。是否有任何类型的缓存?如果我重建并重新部署我的应用程序,则会再次显示空字符串。
index.jsp
<%@page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Lagerverwaltung</title>
</head>
<body>
<h1>Lagerverwaltung</h1>
<p>
<strong>Suche:</strong>
</p>
<p>
<c:out value="${title}" default="" />
</p>
<form method="POST" action="search" name="search_form">
<table>
<tr>
<td>nach Titel:</td><td><input type="text" name="search_title" placeholder="Titel ..." value="" /></td>
</tr>
<tr>
<td>nach Artikelnummer:</td><td><input type="text" name="search_article_nr" placeholder="Artikelnummer ..." /></td>
</tr>
<tr>
<td>nach Beschreibung</td><td><input type="text" name="search_description" placeholder="Beschreibung ..." /></td>
</tr>
<tr>
<td><input type="submit" name="search_submit" value="Suchen" /></td><td></td>
</tr>
</table>
</form>
</body>
SearchServlet.java
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher rd = request.getRequestDispatcher("/index.jsp");
try {
EntityManager em = emf.createEntityManager();
ut.begin();
Item it = em.find(Item.class, 1);
ut.commit();
request.setAttribute("title", it.getTitle());
rd.forward(request, response);
} catch (Exception ex) {
Logger.getLogger(SearchServlet.class.getName()).log(Level.SEVERE, null, ex);
rd.forward(request, response);
}
}
最佳答案
在我的persistence.xml中,我将以下内容添加到我的持久性单元中:
<shared-cache-mode>NONE</shared-cache-mode>
这会禁用缓存,并且现在它的工作方式与预期相同。
关于JavaEE WebProject 请求属性或 JPA 实体似乎已缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33119337/
我是 java 初学者,我想拥有一个 VPS我需要在我的服务器上安装什么来支持 java 项目我认为只有虚拟机 6.0JBOSS数据库够了任何人都可以帮助我了解我必须在我的 Linux 服务器上安装的
我对 JavaEE 很陌生。我经历了一种我无法向自己解释的奇怪行为。 说明: 我有一个index.jsp,其中包含一个带有搜索词和提交按钮的表单。 在 POST 上,我调用一个处理 doPost 方法
我想创建一个 web 项目(war)..这将依赖于其他 jar(java 项目) 一旦我构建了我的 war,它应该会自动构建 java 项目到 jar 并将其添加到它的本地存储库。 有人可以帮忙吗?
由于我的项目变得越来越大,我开始失去概述 :)我有很多 Ajax 请求并且永远请求适当的文件像:“newbill.php”,“newcustomer.php”等等..意味着每个单例都需要一个新的? 我
我有以下运行良好的 Web 项目。想把项目结构改成maven项目结构。 因此,我将项目修改为如下所示(我在 src/main 下创建了一个名为 webapp 的新文件夹,并将文件夹 WebConten
设置 我在 Mac OSX Mavericks 上使用 Netbeans 7.4,在我的专用服务器上使用 Glassfish 4.0 (build 89) 和 JDK 1.7。为了在本地使用服务器,我
我尝试获取时间戳 createTime 和 updateTime,如 DocumentSnapshot Documentation 中所述。 。到目前为止我已经做了以下工作: 已成功将 firesto
在彻底搜索此论坛寻找答案后,我找不到与我类似的案例。 在使用 Maven 生成 WAR 文件管理器并部署我的服务器后,每次我向需要创建 DAO 的 API 发送 GET 请求时,我都会在服务器控制台上
我有一个在 Sitefinity 6.3 中开发的网站,部署在 Windows Azure 上(网站部署在云服务中)。现在我已将项目升级到 sitefinity 7.0,如其 migration pa
我是一名优秀的程序员,十分优秀!