首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSP转发和调用servlet(传递2个会话变量)

JSP转发和调用servlet(传递2个会话变量)
EN

Stack Overflow用户
提问于 2010-10-15 21:39:24
回答 2查看 4.7K关注 0票数 0

我正在尝试将“HTTPrequest”从JSP页面重定向到servlet (位于包中);传递存储在会话对象中的变量。我的想法是:

代码语言:javascript
复制
<jsp:forward page"/servletName">  
  <jsp:param name="var1" value="<%=beanID.getVar1()%>" />
  <jsp:param name="var2" value="<%=beanID.getVar2()%>" />
</jsp:forward>

在servlet中,您可以找到带有@override注释的doPost。使用以下代码:

代码语言:javascript
复制
public class servletName extends HttpServlet{

@Override
  public void doPost(HttpServletRequest request, HttpServletResponse response)
                               throws ServletException,IOException{
  response.setContentType("text/html");
  PrintWriter out = response.getWriter();

  var1 = request.getParameter("var1").toString();
  var2 = request.getParameter("var2").toString();

// do more with the variables.

   }

在运行项目时,参数被发送到调用重定向/转发的JSP。在存储了变量之后(其中servlet必须被称为JSP:forward),应用程序返回一个404页面不存在。

有谁有主意吗?如果需要澄清,请告诉我。

提前感谢!B.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-16 00:37:02

每当URL明显错误,或者URL后面实际上什么都没有的时候,就会出现404。对于servlet,当servlet没有在web.xml中声明时,或者当url-pattern与servlet的URL不匹配时,或者当servlet的构造和初始化失败时(但是,在服务器日志中应该可以看到这一点),就会发生最后一种情况。

看看[servlets] tag info page可能会有所帮助。这里有一个Hello World示例,它可能有助于提供有关使用JSP/servlets的新见解。

请注意,您并没有在这里重定向。您正在转发到servlet。servlet将获得与JSP完全相同的请求/响应。重定向基本上指示客户端创建一个新请求。

票数 0
EN

Stack Overflow用户

发布于 2010-10-16 00:11:16

首先,您不需要将这些变量作为参数发送,您可以访问servlet中的会话对象(request.getSession())。您确定正在调用servlet吗?也许您可以展示更多在servlet中发生了什么的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3942737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档