GetMethod 默认是开启 followRedirects(true);的 , 所以不管服务器是使用sendRedirect 还是 forward , 客户端都会执行到跳转的页面。
如果手动设置followRedirects(false) , 则sendRedirect()的页面 只能通过getMethod.getHeader("location").getValue()来获得 , 执行getMethod.getResponseAsString()得到的是空字符串。
如果手动设置followRedirects(false) , 则forward的页面 , 通过getMethod.getResponseAsString()就可以得到,getMethod.getHeader("location")返回null 。
这也就是forward也sendRedirect的区别。
总结一点就是sendRedirect的就是通过getMethod.getHeader("location").getValue()来取得 , 而
forward的跳转是发生在服务器内部的 , 不管你怎么设置 , 都会执行到那个页面。
通常用postMethod提交之后获得Header("location").getValue();是服务器使用了sendRedirect , 而如果
Header("location")为空的时候 , 是服务器使用了forward , 但是不管是那种方法 , 服务器都会在检查用户名密码之后
将登陆成功与否设置值在session中 , 对应httpclient就是有这么个cookie , 没登陆成功就是没这个cookie.
但是我们无需理会cookie的管理 , 因为可以使用httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY)
让HttpClient使用类似浏览器的方式管理cookie,这也使得httpclient的使用更为简单。
分享到:
相关推荐
Android应用通常使用HttpClient或OkHttp等库发起HTTP请求,与部署在Web服务器上的Servlet进行交互。Servlet接收请求后,处理业务逻辑,然后返回响应给Android客户端。Android客户端可以通过GET或POST方法传递参数,...
对于Java Web应用,JUnit和Mockito等工具可以辅助进行单元测试,而Apache HttpClient或Postman等工具可用于模拟HTTP请求,进行接口测试。 总的来说,基于Java Web的宿舍管理系统是一个综合运用了多种Java Web技术和...
JUnit和Mockito等工具可以帮助进行单元测试,而Apache HttpClient或者Selenium可以用于模拟用户交互的集成测试。 9. **部署与运行环境**: 项目部署通常需要Tomcat、Jetty等Servlet容器或完整的应用服务器如...
`junit.jar`是Java单元测试的主要工具,配合Mockito等工具进行测试驱动开发。 9. **HTTP客户端库**: 如果项目涉及到HTTP请求,如`httpclient.jar`或`httpcore.jar`(Apache HttpClient),或者`okhttp.jar`(OkHttp...
Tomcat是一款开源的、小巧且高效的Java Web服务器,用于部署和运行Servlet和JSP应用程序。在本地搭建Tomcat服务器,可以帮助开发者快速测试HTTP通信的逻辑。 1. **Tomcat服务器的部署**: - 下载Tomcat安装包,...
6. **Spring Web**:为创建Web应用提供基础支持,包括Servlet监听器、过滤器等。 7. **Spring Test**:提供了一套全面的测试工具,支持对Spring应用进行单元测试和集成测试。 在"lib"目录下,这些jar包可能包含了...
5. **Eclipse工程配置**:理解Eclipse项目结构,如何导入和运行项目,以及如何调试和测试。 6. **Maven或Gradle依赖管理**:如果项目中使用了这些构建工具,了解如何添加和管理项目依赖。 7. **安全性考虑**:...
Servlet和JSP配合使用,可以构建出响应Ajax请求的服务器端逻辑。 7. JSON:在现代的Ajax应用中,XML已逐渐被JSON(JavaScript Object Notation)取代,因为JSON更轻量级且易于解析。Java有多种库如Jackson、Gson等...
11. **Spring Test**:`spring-test`和`spring-test-mvc`用于单元测试和集成测试Spring MVC应用,提供模拟环境和断言工具。 12. **JUnit**:`junit`是单元测试的标准库,与`spring-test`一起用于编写和运行测试用例...
JUnit的jar包如junit.jar,通常与Mockito等其他测试工具配合使用。 8. **Servlet和JSP**:对于Web开发,Servlet和JSP(JavaServer Pages)是基础。servlet-api.jar和jsp-api.jar包含了Servlet和JSP的规范接口,是...
- `standard.jar`:JSTL的实现库,与`jstl.jar`配合使用。 4. **EL (Expression Language)**: - `el-api.jar`:表达式语言API,允许在JSP页面中直接访问Java对象的属性,如`${user.name}`。 - `javax.el.jar`:...
14. **其他可能的依赖**:根据实际项目需求,可能还需要其他库,比如 MyBatis 或 Hibernate 这样的持久层框架,或者 Apache HttpClient、JUnit 等测试库。 正确配置这些 jar 包后,开发者可以创建 Controller 类,...
9. **Servlet/JSP**: Servlet和JSP(JavaServer Pages)是用于构建动态Web应用的标准API,Servlet处理服务器端逻辑,JSP则用于生成HTML内容。 10. **JUnit**: 用于编写和运行Java单元测试的框架,确保代码质量并...
同时,系统可能会使用Apache HttpClient或OkHttp等库来实现对外部API的调用,以获取或发送数据。 数据库管理是另一个关键部分。MySQL或PostgreSQL这类关系型数据库通常被用作存储用户信息、帖子、评论等数据。ORM...
1. **Servlet和JSP**:作为Java Web应用的核心部分,Servlet用于处理HTTP请求,而JSP则用于生成动态HTML内容。 2. **MVC框架**:如Spring MVC或Struts2,提供模型-视图-控制器架构,使代码组织更清晰,便于维护和...
8. **JUnit**: `junit.jar`是Java单元测试的标准库,配合`hamcrest-core.jar`等辅助库,让开发者可以编写和运行可重复的测试用例。 9. **Mockito**: `mockito-core.jar`用于模拟对象,帮助进行单元测试,可以在不...
- Android测试:单元测试,UI测试,Monkey测试等。 - Android安全:数据加密,反编译防护,网络安全等。 以上就是Android学习的基本路线,对于初学者来说,逐步深入这些领域将有助于构建扎实的Android开发基础。...
以上只是部分可能包含的JAR文件,实际的“开发用jar包整理”可能会根据作者的需求包含更多其他库,如DAO框架(MyBatis, iBatis, Hibernate等),测试框架(JUnit, Mockito等),网络库(Apache HttpClient等),安全...
在Java中,我们可以使用HttpURLConnection或者Apache HttpClient库来构造这样的请求。在Eclipse环境下,我们可以创建一个Servlet或者Controller来接收并处理这些上传的文件。 描述中提到的"uploadify"可能是指...
1. **Web工程**:描述中提到了所有的demo工程统一建立为web工程,这表明是在Web环境下开发和测试的,可能涉及到Servlet、JSP、HTML、CSS、JavaScript等技术。 2. **jQuery**:在ajaxdemo中使用了jQuery来发送AJAX...