java Web中在啥时候用request.getAttribute()?何时用request.getParameter()呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Web中在啥时候用request.getAttribute()?何时用request.getParameter()呢?相关的知识,希望对你有一定的参考价值。
参考技术A 在HttpServletRequest类中既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。
(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有以下代码:
<a href="authenticate.jsp?username=weiqin">authenticate.jsp </a>
或者:
<form name="form1" method="post" action="authenticate.jsp">
请输入用户姓名:<input type="text" name="username">
<input type="submit" name="Submit" value="提交">
</form>
在authenticate.jsp中通过request.getParameter("username")方法来获得请求参数username:
<% String username=request.getParameter("username"); %>
(3)当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。假定authenticate.jsp和hello.jsp之间为转发关系。authenticate.jsp希望向hello.jsp传递当前的用户名字,如何传递这一数据呢?先在authenticate.jsp中调用setAttribute()方法:
<%
String username=request.getParameter("username");
request.setAttribute("username",username);
%>
<jsp:forward page="hello.jsp" />
在hello.jsp中通过getAttribute()方法获得用户名字:
<% String username=(String)request.getAttribute("username"); %>
Hello: <%=username %>
看懂上面三点,基本就知道怎么用request.getAttribute()和request.getParameter()了。
在共享托管解决方案中在哪里托管 JAVA 中的 Restful Web 服务
【中文标题】在共享托管解决方案中在哪里托管 JAVA 中的 Restful Web 服务【英文标题】:Where to host a Restful web service in JAVA in shared hosting solutions 【发布时间】:2013-05-07 13:10:54 【问题描述】:我刚刚完成了一个由移动应用程序使用的 REST Web 服务的开发。 Web 服务使用 Java 开发并在 Apache 服务器上运行。
我现在进入测试部分。为此,我需要在真实服务器中托管我的 Web 服务。 这是第一次体验,我只知道使用互惠(共享)托管不允许我以任何语言托管任何应用程序。
我使用的是 OVH,它不支持 Java Web 服务托管。
有没有人可以提供其他选择。会有很大帮助的!!
【问题讨论】:
如果是为了测试目的,为什么不将它托管在您的 PC 上(使用 XAMPP、LAMPP 等)? 您找到解决方案了吗?可以分享给我们吗? 【参考方案1】:就像我说的,如果是出于测试目的,您可以始终使用“普通”PC,运行类似 XAMPP 的东西。
作为替代方案,您可以尝试 RedHat 的 OpenShift,它提供了一个免费的入门计划(更多信息 here),它不仅可以满足您的测试要求。
【讨论】:
感谢您的提示!我一直在尝试使用 OpenShift,我下载了所有必需的文件,并按照描述在 OpenShift 下创建了一个应用程序,但现在我需要将我已经使用过的代码推送到这个新应用程序中。他们正在解释如何从头开始创建一个!我的不知道怎么用!一切都那么复杂!!你用过吗?? 不幸的是,我最近才发现 OpenShift,还没有机会亲自使用它。从我读过的内容来看,将您的源代码从 GIT 存储库推送到 OpenShift 应该不难。 (1. 创建新应用程序,2. 从您现有的 GIT 存储库推送) 您成功部署应用了吗?我刚刚部署了我的(只是一个简单的 tomcat6 demo application,没有数据库依赖或任何东西)。基本上,我所做的是:1. 创建一个应用程序(使用 Web 控制台),2. 克隆自动创建的 GIT 存储库,3. 将我的 .WAR 复制到'webapps/'
目录中,4. git add/commit/push
。相当直截了当 - 我不知道您的应用程序有多复杂(让我们知道它是如何为您服务的)。
我也使用控制台创建了应用程序。然后我在 IDE 部分下载了 Jboss 工具。我打开了我的 Eclipse 并找到了一个新的向导:名为 Open Shift Application。然后我按照本教程进行操作:youtube.com/watch?v=4Htd9vAxJAc 但我仍然无法打开我现有的应用程序(这是一个不包含任何 jsp 页面的 Web 服务应用程序)。
@ashabasa:问题:1.您的应用程序需要访问数据库吗? 2.您的应用程序是否打包在 .WAR 中? 3. 你的应用的 context root 是什么? 4、你愿意用GIT吗?【参考方案2】:
要运行您的应用程序(在 Eclipse 中),您需要:Run As -> Run on Server
然后选择服务器。如果您还没有这样做;我建议您安装本地 JBoss/WildFly 服务器(向导可以为您处理)。
这样做将显示在本地或 OpenShift/rhcloud 服务器上运行您的应用程序的选项。这使测试更快,并允许您避免在 OpenShift 实时服务器上进行测试。
【讨论】:
以上是关于java Web中在啥时候用request.getAttribute()?何时用request.getParameter()呢?的主要内容,如果未能解决你的问题,请参考以下文章
j2ee开发中,需要使用线程、线程池吗?在啥时候用线程?啥时候用线程池?