jsp-servlet 的相关请求路径问题 —url
jsp-servlet 的相关请求路径问题 —url
本文章主要解决的几方面问题如下:
- 常见涉及路径元素;
- jsp页面请求和servlet请求转发、重定向的关系
- 如何避免下一步请求受上一步请求在URL方面的问题
常见涉及路径元素:
- 表单中的action属性 ,其值是提交表单的请求。action中指向的路径与最终请求的页面或servlet关系不大,比如可以指向html页面,可以指向jsp页面(当然,从某方面来讲,两者是一样的,也可以写serlet的urlPatterns指定的位置。)
- 重定向。先看代码
- response.sendRedirect("Jsp/Login.jsp");
此处的重定向实现的是:让服务器对客户端进行响应,并让客户端对project_name/jsp/Login.jsp页面重新请求。显示的url为新的请求的url
- 请求转发。先看代码
- request.getRequestDispatcher("Jsp/Home.jsp").forward(request, response);
此处的请求转发实现的是将请求转发到project_name/jsp/Login.jsp页面.显示的url是该servlet的url,即可以看出在servlet中进行了处理
jsp页面请求和servlet请求转发、重定向的关系:
表单请求会携带表单信息,其中get方式信息在url中,post方式是在请求体当中。而在开发工作中,经常会在servlet中进行获取,根据信息判断进行相应的处理,之后再来进行请求或转发。典型的代表就是登陆表单的验证,密码正确转发到下一步,密码错误重定向到登录界面。
如何避免下一步请求受上一步请求在URL方面的问题:
假如在servlet的注解为
@WebServlet(name = "LoginServlet", urlPatterns = "/LoginServlet")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().append("Served at: ").append(request.getContextPath());
if ("密码正确的代码") {
request.getRequestDispatcher("Jsp/Home.jsp").forward(request, response);
} else {
response.sendRedirect("Jsp/Login.jsp");
}
}
表单action为
- action="LoginServlet"
那么在第一次就密码正确可以登录,可是第一次错了重新输入后登录就吹出现路径问题
原因是重定向后客户端发出的请求与正确的servlet 的urlPatterns值不一致。解决办法就是将表单的请求从根目录开始,即
- action="/Personal_name/LoginServlet"
备注:
路径中默认的是 ./ 表示当前目录
- ../表示上一级目录
- / 表示根目录
jsp-servlet 的相关请求路径问题 —url的更多相关文章
- 第二章.JSP/Servlet及相关技术详解
JSP的4种基本语法: 1.JSP注释: <%-- JSP注释部分 --%> 2.JSP声明: <%! //声明一个整型变量 public int count; //声明一个方法 p ...
- 从0开始学Java——JSP&Servlet——HttpServletRequest相关的几个路径信息
在HttpServletRequest中有几个获取路径的接口:getRequestURI/getContextPath/getServletPath/getPathInfo 这些接口互相之间有什么区别 ...
- 【Servlet】—在servlet中常混的请求路径
在页面请求,后台获取相关请求路径是,自己长搞混的几个路径,再次做次标记,不要每次使用想不起来是,都去写一个小的demo来测试. request.getContextPath(); request.ge ...
- Servlet各种路径、URL配置分析
大家都知道,Servlet有个配置: <servlet> <servlet-name>zolltyMVC</servlet-name> <servlet-cl ...
- JSP、Servlet中的相对路径和绝对路径 页面跳转问题
转自:http://blog.csdn.net/wym19830218/article/details/5503533/ 1.JSP.Servlet中的相对路径和绝对路径 前提:假设你的Http地址为 ...
- Javaweb中的请求路径的相关总结
重定向和转发相对路径和绝对路径问题 注意:转发和重定向的URLString前有加 / 为绝对路径 反之为相对路径 1.假设通过表单请求指定的Url资源 action="LoginServ ...
- JSP Servlet 路径解析 路径设置
转自:http://ethen.iteye.com/blog/800415 在用JSP和Servlet编写Web应用时,经常遇到的问题就是找不到.do路径,或者.do路径不能解析,其实归根到底就是Se ...
- jsp servlet路径问题
最近做小作业时饱受路径问题的困扰,记录一下: 当工程目录如上所示时,路径应该这么写: 情况1:根目录下 login.jsp中的表单提交给Servlet时,可以直接写Servlet名: <form ...
- js进阶ajax的XMLHttpRequest对象的status和statustext属性(如果ajax和php联合使用的话:open连接服务器的第二个参数文件路径改成请求php的url即可)
js进阶ajax的XMLHttpRequest对象的status和statustext属性(如果ajax和php联合使用的话:open连接服务器的第二个参数文件路径改成请求php的url即可) 一.总 ...
随机推荐
- Reading | 《数字图像处理原理与实践(MATLAB版)》(未完待续)
目录 一.前言 1.MATLAB or C++ 2.图像文件 文件头 调色板 像素数据 3.RGB颜色空间 原理 坐标表示 4.MATLAB中的图像文件 图像类型 image()函数 imshow() ...
- unbuntu14.04下的串口软件monicom的使用
上篇文章写到了将esp-idf中的examples里的helloworld烧写进了esp32的flash里面,本文就讲讲这个例子的测试和一个项目工程的建立. 首先为了得到esp32输出的信息,需要一个 ...
- 【算法】实现字典API:有序数组和无序链表
参考资料 <算法(java)> — — Robert Sedgewick, Kevin Wayne <数据结构> ...
- 【牛客网71E】 组一组(差分约束,拆位)
传送门 NowCoder Solution 考虑一下看到这种区间或与区间与的关系,拆一下位. 令\(s_i\)表示前缀和,则: 那么如果现在考虑到了第\(i\)为,有如下4种可能: \(opt=1\) ...
- java之ArrayList详细介绍
1 ArrayList介绍 ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List ...
- fscanf_s与scanf_s的宽度参数与缓冲区参数分析
fscanf_s函数 在文件操作中经常会用到fscanf这个函数,但是在VC和VS中会有警告 意思是编译器觉得fscanf不安全,叫你考虑用一下fscanf_s这个函数来代替fscanf,fscanf ...
- 仿B站项目——(2)环境配置,文件目录
环境配置 主要参考入门Webpack,看这篇就够了,webpack入门和webpack实用配置. 实用开发环境 利用下面的webpack.json和webpack.config.js可以搭建一个使用e ...
- vscode 开发 Java web 急速教程
1.确认在本机已安装 JAVA SDK 2.确认在本机已安装 maven 3.确认在本机已安装 tomcat 下面是我本机相关软件版本: java version "1.8.0_191&qu ...
- Java运行环境(win10)
系统安装Java后,配置运行环境,我的系统是win10,之前随便装了,没想到最近执行javac命令报错,(网上找了一堆都没用)处理方式如下: 环境变量-新建:变量名:%JAVA_HOME% 变量值: ...
- RabbitMQ常见错误1
java.lang.IllegalStateException: Invalid configuration: 'exchange' must be non-null. at com.rabbitmq ...