如何通过代码将我的响应和请求对象从jsp文件发送到servlet?我不想提交表单之类的。
我试过了:
response.setRedirect("my page"):
但它说:
Exception in thread "main" org.apache.http.client.HttpResponseException: Moved Temporarily
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:68)
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:54)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:945)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:919)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:910)
at com.xx.xx.client.Client.sendPOSTRequest(Client.java:185)
at com.xx.xx.client.Client.main(Client.java:46)
澄清一下:我有一个客户端向JSP文件发送一个post请求。这个JSP文件解析一个文件并将所需的信息放入会话中。我想从这个jsp文件中调用一个servlet来向数据库中添加一些东西。我认为这个错误代码是由这行String响应主体=httpclient.execute(httppost,响应处理程序)抛出的;
您可以使用RequestDispatcher转发(ServletRequest请求,ServletResponse响应)
将来自servlet的请求转发到服务器上的另一个资源(servlet、JSP文件或HTML文件)。
您可以这样做:
ServletContext context= getServletContext();
RequestDispatcher rd= context.getRequestDispatcher("/YourServlet");
rd.forward(request, response);
使现代化
还要注意您的代码上有响应。设置重定向,而不是响应。sendRedirect(…)
但请注意,此方法不会按您希望的方式工作,因为它只要求浏览器向servlet发出新请求,而不是将您的请求和响应对象转发给该servlet。请参阅RequestDispatcher。forward()vs HttpServletResponse。sendRedirect()了解更多信息
您可以使用
<jsp:include page="/servletURL" />
servlet的doXxx()方法将仅使用当前请求/响应调用。请注意,servlet之后无法转发到另一个JSP。它必须直接写入响应,或者设置一些请求/会话属性,JSP可以在<代码>
请注意,这是糟糕的设计。您滥用JSP作为前端控制器。应该反过来。servlet应该充当前端控制器,而JSP应该充当视图。客户端应该将请求直接发送到servlet URL,而不是发送到某个JSP文件。servlet应该执行业务工作,并最终转发给JSP,让它以超文本标记语言呈现结果。有关一些Hello World示例,请参阅我们的servlet标记wiki页面。
我有2个问题 1)我有一个login.jsp页和索引页。一旦我验证了用户(在servlet ie中),用户将被重定向到index.jsp页面。我用servlet的这条线重定向它 这个过程运行良好。但是当我刷新页面时,我会被重定向回登录页面。另外,我注意到在index.jsp页面上,我得到的名字而不是index.jsp,即我的servlet名称得到displayed.for这样的例子得到代替显示 2
我有一个小应用程序(HTML表单、servlet作为控制器和jsp文件),我试图弄清楚为什么我不能将请求从servlet转发到jsp文件。 问题是从html提交后,显示“HTTP状态404” null 谢谢! 项目层次结构:http://s23.postimg.org/kgt7r7lwb/capture.jpg main.html: 更新:问题可能出在Controller.java。当我尝试下面的
问题内容: 常见问题 可以从Java servlet的方法发送get reguest 吗?我需要检查一些针对我的Web API .NET服务的“凭单”,因此我可以从该方法中的自定义servlet调用此服务吗? 细节 我们有使用TIBCO Spotfire 7.0作为分析报告引擎的Web应用程序(.NET,MVC5)。为了使我们的用户能够在Web应用程序中查看报告,我们使用Spotfire WebP
然后我得到一个警告 在此行找到多个批注:-类型安全:未检查的从对象到ArrayList的强制转换-类型不匹配:无法从对象转换到ArrayList
问题内容: 我认为(实际上我知道!)我在这里做错了事,我试图将一些值填充到HashMap中,并将每个hasmap添加到将添加到JSON对象的列表中: 我的问题是我知道这将返回一个字符串,我似乎无法解析(这是问题)。我的问题是如何返回实际的JSON编码的字符串(甚至应该这样做?),或者针对这种类型的问题的最佳攻击方法是什么?我为此使用的JavaScript如下: 请注意,JSON响应可以很好地返回,