问题标签 [servlets]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 将“/”站点迁移到 Java EE 打包时处理上下文路径引用
现有的 Java 站点被设计为在 tomcat 上的“/”下运行,并且有许多对固定绝对路径的特定引用,例如“/dir/dir/page”。
想要将此迁移到 Java EE 打包,站点需要在上下文根下运行,例如“/dir/dir/page”变为“/my-context-root/dir/dir/page”
现在,使用 ServletRequest.getContextPath() 可以轻松地获取上下文根,但这仍然意味着要迁移大量代码库需要进行大量代码更改。这些引用中的大多数都是文字 HTML。
我已经尝试使用 servlet 过滤器对出站 HTML 进行重写,这似乎工作正常。但它确实引入了一些开销,我不认为它是一个永久的解决方案。 (有关 servlet 过滤器方法,请参阅EnforceContextRootFilter-1.0-src.zip )。
有没有更好的方法来解决这个问题?有什么明显的我失踪了吗?所有评论表示赞赏!
servlets - Servlet 构造函数和 init() 方法
为什么我们需要 servlet 中的 init() 方法?我们不能使用构造函数来初始化吗?
java - 保护 servlet 应用程序中的内部视图层模板页面
我有一个关于 Java 中的 MVC Web 应用程序的非常基本的问题。
从原始 JSP 的早期直到像 Seam 这样的当前技术,一个非常基本的模式一直是从最初接受请求的控制器到视图层的内部调度,该视图层创建要发送到客户端的输出。
这种内部调度通常是通过使用 URL 向 servlet 容器请求新资源来完成的(尽管该机制可能通过额外的配置层隐藏)。这些 URL 的映射由相同的 web.xml 完成,该 web.xml 还定义了到外部的“真实”URL。
除非采取特殊措施,否则通常可以直接访问视图层。见证Seam“注册”演示,您可以在其中绕过“register.seam”并直接转到“registered.xhtml”。这是一个潜在的安全问题。至少,它泄露了视图模板源代码。
我知道这只是一个基本的示例应用程序,但也很奇怪,需要采取任何额外的措施来声明这些内部资源对外部不可见。
限制 URL 入口点的最简单方法是什么?
是否可能有类似“WEB-INF”目录的东西,一个只能由内部请求访问的神奇 URL 路径组件?
java - 中止从 servlet 上传以限制文件大小
我想限制可以上传到应用程序的文件的大小。为此,我想在上传的文件大小超过限制时从服务器端中止上传过程。
有没有办法在不等待 HTTP 请求完成的情况下从服务器端中止上传过程?
java - 获取 requestDispatcher
使用 servletContext 而不是请求以获得 requestDispatcher 有什么好处?
并使用
java - 使用插件扩展 Java Web 应用程序
我有这个 Web 应用程序已经发展到无法管理的混乱状态。
我想把它分成一个通用的“框架”部分(仍然包括网页和图像等网页内容)和几个添加额外功能和屏幕的模块。我希望这种重构也可以用作第三方扩展的插件系统。
所有模块都需要是单独的部署单元,最好是 war 或 jar 文件。
我试图只制作几个常规的战争文件,但 Tomcat 将(根据 servlet 规范)这些战争文件彼此完全分开,例如,它们不能共享它们的类。
我需要插件才能看到“主”类路径。
我需要主应用程序对插件进行一些控制,例如能够列出它们并设置它们的配置。
我想保持插件本身(除非它们指定依赖项)和任何其他可能在同一个 Tomcat 上运行的不相关 Web 应用程序之间的完全分离。
我希望它们植根于“主”应用程序 URL 前缀下,但这不是必需的。
我想使用 Tomcat(大型架构更改需要与太多人协调),但也想了解 EJB 或 OSGi 世界中的干净解决方案(如果有)。
servlets - 从 glassfish 跟踪已完成的下载
我希望能够跟踪我的 glassfish 服务器提供的已完成下载。我找不到使用 servlet 生命周期侦听器的 100% 正确解决方案。有没有人有更好的主意?
java - 饼干 getMaxAge
我无法检索 cookie maxage 它总是返回 -1
创建cookie:
检索 cookie:
我总是变老= -1
当我检查 Firefox cookie 过期时,我也看到奇怪的日期。
谢谢
jsp - 如何在 jsp 页面中包含 servlet?
是否可以在 jsp 页面中包含 servlet?如果是这样怎么办?
java - 如何确定 web.xml 中侦听器的顺序
我的 Java webapp 中有一堆 servlet 上下文侦听器,每个侦听器都收集有关环境的一些信息。
其中一些依赖于另一个听众收集的信息。但是我无法确定监听器注册和调用的顺序,所以我不得不复制代码。
我知道听众是按照他们在 web.xml 中的顺序注册的,但这对我来说听起来有点模糊,太模糊以至于无法依赖它。
你有提示我如何解决我的问题吗?