标签: servlets

Cookie和会话之间的差异?

我正在进行Web开发培训,并且正在学习JSPServlets.我有一些知识HttpSession- 我在一些示例项目中使用过它.

在浏览器中,我看到了"删除cookie"的选项.如果我删除了cookie,它HttpSession也会删除它.

Cookie和会话是一样的吗?它们之间有什么区别?

cookies session jsp servlets

151
推荐指数
4
解决办法
14万
查看次数

如何从Java Servlet返回JSON对象

如何从Java servlet返回JSON对象.

以前在使用servlet执行AJAX时,我返回了一个字符串.是否有需要使用的JSON对象类型,或者只是返回一个看起来像JSON对象的String,例如

String objectToReturn = "{ key1: 'value1', key2: 'value2' }";
Run Code Online (Sandbox Code Playgroud)

java json servlets

149
推荐指数
9
解决办法
43万
查看次数

用于提供静态内容的Servlet

我在两个不同的容器(Tomcat和Jetty)上部署了一个webapp,但是他们用于提供静态内容的默认servlet有一种不同的方式来处理我想要使用的URL结构(详细信息).

因此,我希望在webapp中包含一个小servlet来提供自己的静态内容(图像,CSS等).servlet应具有以下属性:

这样的servlet可以在某处使用吗?我能找到的最接近的是servlet书中的例子4-10.

更新:我想使用的URL结构 - 万一你想知道 - 只是:

    <servlet-mapping>
            <servlet-name>main</servlet-name>
            <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>/static/*</url-pattern>
    </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

所以所有请求都应该传递给主servlet,除非它们是static路径.问题是Tomcat的默认servlet不考虑ServletPath(因此它在主文件夹中查找静态文件),而Jetty则这样(因此它在static文件夹中查找).

java jsp servlets java-ee

143
推荐指数
9
解决办法
16万
查看次数

HttpServletRequest - 如何获取引用URL?

我需要在Java Servlet中记录链接到我的站点的URL.

java servlets

141
推荐指数
4
解决办法
13万
查看次数

HttpServletRequest中getRequestURI和getPathInfo方法之间的区别是什么?

我正在制作一个简单,非常轻巧的前置控制器.我需要将请求路径与不同的处理程序(操作)匹配,以便选择正确的路径.

在我的本地计算机上HttpServletRequest.getPathInfo()HttpServletRequest.getRequestURI()返回相同的结果.但我不确定它们会在生产环境中返回什么.

那么,这些方法和我应该选择什么之间的区别是什么?

java servlets

133
推荐指数
4
解决办法
15万
查看次数

导入javax.servlet无法解析

我正在尝试使用eclipse for Java EE来开发Web应用程序.

我需要使用Tomcat作为我的服务器.我已经下载了Tomcat并且它正在运行.但是我的程序没有编译.

我收到以下错误:

导入javax.servlet无法解析.

我需要做什么?

java eclipse tomcat servlets

132
推荐指数
7
解决办法
32万
查看次数

如何在web.xml中指定默认错误页面?

<error-page>web.xml中使用元素来指定用户遇到某个错误时的友好错误页面,例如代码为404的错误:

<error-page>
        <error-code>404</error-code>
        <location>/Error404.html</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)

但是,我希望如果用户不符合指定的任何错误代码<error-page>,他或她应该看到默认错误页面.如何使用web.xml中的元素执行此操作?

java jsp web.xml servlets custom-error-pages

132
推荐指数
3
解决办法
21万
查看次数

如何在浏览器标签中区分会话?

在使用JSP和Servlets在java中实现的Web应用程序中; 如果我在用户会话中存储信息,则从同一浏览器的所有选项卡共享此信息.如何在浏览器选项卡中区分会话?在这个例子中:

<%@page language="java"%>
<%
String user = request.getParameter("user");
user = (user == null ? (String)session.getAttribute("SESSIONS_USER") : user);
session.setAttribute("SESSIONS_USER",user);
%>
<html><head></head><body>
<%=user %>
<form method="post">
User:<input name="user" value="">
<input type="submit" value="send">
</form>
</body></html>
Run Code Online (Sandbox Code Playgroud)

将此代码复制到jsp页面(testpage.jsp)中,将此文件部署在服务器上的Web应用程序的现有上下文中(我使用Apache Tomcat),然后使用正确的URL(localhost/context1/testpage.jsp)打开浏览器(FF,IE7或Opera ),键入您在输入中的姓名并提交表格.然后在同一浏览器中打开一个新选项卡,然后您可以在新选项卡上看到您的名称(从会话中获取).小心浏览器缓存,有时似乎不会发生,但它在缓存中,刷新第二个选项卡.

谢谢.

browser jsp servlets web-applications sessionid

130
推荐指数
8
解决办法
24万
查看次数

如何删除Java Servlet中的Cookie

如何删除Java servlet中的cookie?

我试过这个:http: //www.jguru.com/faq/view.jsp?EID = 42225

编辑:以下现在成功运作它似乎是以下的组合:

response.setContentType("text/html");
Run Code Online (Sandbox Code Playgroud)

cookie.setMaxAge(0);
Run Code Online (Sandbox Code Playgroud)

在我做之前:

//remove single signon cookie if it hasn't been validated yet
response.setContentType("text/html");
Cookie cookie = new Cookie(SSORealm.SSO_COOKIE_NAME, "");
cookie.setDomain(SSORealm.SSO_DOMAIN);
cookie.setMaxAge(-1);
cookie.setPath("/");
cookie.setComment("EXPIRING COOKIE at " + System.currentTimeMillis());
response.addCookie(cookie);
Run Code Online (Sandbox Code Playgroud)

根据文档关闭浏览器时,cookie会过期.

负值表示cookie不会持久存储,并在Web浏览器退出时被删除.零值会导致cookie被删除.

要使Cookie过期的完整工作代码段是:

//remove single signon cookie if it hasn't been validated yet
response.setContentType("text/html");
Cookie cookie = new Cookie(SSORealm.SSO_COOKIE_NAME, "");
cookie.setDomain(SSORealm.SSO_DOMAIN);
cookie.setMaxAge(0);
cookie.setPath("/");
cookie.setComment("EXPIRING COOKIE at " + System.currentTimeMillis());
response.addCookie(cookie);
Run Code Online (Sandbox Code Playgroud)

java cookies servlets

130
推荐指数
5
解决办法
19万
查看次数

在Java Web应用程序中从应用程序服务器外部提供静态数据的最简单方法

我有一个在Tomcat上运行的Java Web应用程序.我想加载静态图像,这些图像将在Web UI和应用程序生成的PDF文件中显示.此外,还将通过Web UI上传添加和保存新图像.

通过将静态数据存储在Web容器中但从Web容器外部存储和加载它们来解决这个问题并不是一个问题.

我不想在此时使用像Apache这样的单独的Web服务器来提供静态数据.我也不喜欢将图像以二进制形式存储在数据库中.

我已经看到一些建议,比如将图像目录作为指向Web容器外部目录的符号链接,但这种方法是否适用于Windows和*nix环境?

有人建议编写一个过滤器或servlet来处理图像服务,但这些建议非常模糊和高级别,没有指向如何实现这一目标的更详细信息.

tomcat servlets static-content java-ee

129
推荐指数
5
解决办法
14万
查看次数