我是RESTful Web服务和RESTlet的新手.我们只有构建基于servlet的Web应用程序(JBoss/Apache上的Servlet/JSP)的经验.现在,我们正在构建一个基于RESTlet的应用程序,其中服务器端API将由两种类型的客户端使用 - 使用浏览器的Web和基于桌面的swing.
我理解的是,根据REST概念a)服务器无法维护会话以提高可伸缩性和其他一些原因b)来自客户端的每个请求都应该是自包含的
现在,我真的很困惑如何实现这一目标.假设我们采用简单的购物车应用程序.
步骤1)客户端发送认证请求,服务器认证,服务器响应OK.
步骤2)客户端发送将项目添加到购物车的请求.服务器响应正常.
步骤3)客户发送另一个请求以将第二项添加到购物卡.服务器响应正常.
通常,在正常的Web应用程序中,会在服务器上的步骤1中创建会话,从那时起,与该客户端相关的所有请求将自动与同一会话关联,并且我们将会话状态(在这种情况下为购物车)存储在会话对象,并使用来自客户端的后续请求来检索/更新它.
现在,在上面的场景中:
1)如果服务器上没有维护会话,我们如何在步骤2和3中对客户端进行身份验证和授权?
2)客户是否需要为每个请求发送一些附加信息?
3)我们如何在步骤3中检索客户特定的购物车?
4)客户端是否需要在步骤3中再次发送由服务器在步骤2中创建/返回的购物车?
显然,这是最简单的用例,因此每个开发RESTful Web服务的人都必须设计他们的app来处理这个问题.使用RESTLet在RESTful Web服务中处理会话管理,身份验证和授权的最佳和最常用方法是什么?如果我们必须使用客户端的数据维护服务器端的缓存,那么这与代表我们的服务器维护会话有何不同?
提前谢谢,Deep
使用GWT客户端下载pdf文件的最佳方法是什么?我应该调用普通的servlet吗?还是有不同的首选方法来处理这个问题?
我是GWT的新手,所以如果一些示例代码会有很大的帮助.
谢谢你
我需要加密和解密pdf文件.是否有免费或低成本的Java API可以做到这一点?基本上我需要隐藏普通用户的文件.有关以编程方式实现该建议的任何其他建议吗?
谢谢,深
我在我们基于 Java 的软件中使用 JASYPT 对密码进行加密解密。这是我们加密密码的方式:
StrongTextEncryptor textEncryptor = new StrongTextEncryptor();
textEncryptor.setPassword(PASSWORD_ENCRYPTION_KEY);
String ePasswd = textEncryptor.encrypt(txtPasswd);
Run Code Online (Sandbox Code Playgroud)
现在,我应该在哪里以及如何存储上面代码中使用的 PASSWORD_ENCRYPTION_KEY ?在 Java 程序中存储和访问这些密钥的最安全或最常用的方法是什么?
谢谢,深
你能否提供一下如何在tomcat 6中使用sqlite?我正在使用Xerial sqlite jdbc驱动程序.在我的应用程序中,我有多个sqlite数据库(.db文件),需要连接到不同的sqlite数据库,具体取决于用户登录的内容?我在哪里可以将所有.db文件放在webapp根目录中,或者放在系统上的任何位置,还是放在WEB-INF中?
谢谢,
深
我正在开发一个便携式Java应用程序,它可以在用户的PC上动态生成一些文件(windows xp).现在,我想要的是在java程序退出后删除那些临时文件.显然,java的文件删除机制是不可信任的.即使我将文件标记为在退出时删除(file.deleteOnExit()),大多数时候也不会删除它.我使用包装器(java2exe)将其作为可执行文件运行.欢迎任何建议或解决方案?
谢谢,深