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即可) 一.总 ...
随机推荐
- 04-jQuery的属性操作
jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如attr().removeAttr ...
- golang注意问题
关于slice 我们都知道slice是在通过参数传递的时候传递的是引用 slice的appen操作是有返回值的,并不改变原值 例如 b := [],,,} c:=append(b, ) // b 不变 ...
- 从MATLAB到FPGA 视频和图像处理——讲座学习小结(视频地址https://ww2.mathworks.cn/videos/from-matlab-to-fpga-video-and-image-processing-102492.html)
1.HDLcoder产品介绍 图像处理分为两个部分: 这里主要讨论第一部分图像处理部分. 一般产品设计流程如下: 适用人群有以下两类: 这里先用一张slider来进行整体概括: 基于模型的设计的好处— ...
- Pycharm2018的激活方法或破解方法
1.授权服务器激活 优点:方便快捷 缺点:激活的人数多了就容易被封杀,所以可能经常需要去激活 选择License server激活,然后填入: idea.qmanga.com或http://xidea ...
- 六.使用python操作mysql数据库
数据库的安装和连接 pymysql的安装 pip install PyMySQL python连接数据库 import pymysql db = pymysql.connec ...
- VirtualBox中的快捷键
VirtualBox中的快捷键 VirtualBox中的 Host 键默认是: Right Ctrl 键,意思是键盘上右边那个 “Ctrl”键. Host 键可以点击 Oracle VM Virtua ...
- Error:(18, 51) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
问题:主要是因为jdk版本不一样 解决: 方法一:List<String> list=new ArrayList<Stirng>(); 方法二:重新安装jdk8的版本(安装和配 ...
- Vuejs——(3)计算属性,样式和类绑定
版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 先上总结: (十九)标签和API总结(2) vm指new Vue获取的实例 ①当dom标签里的值 ...
- Shell-6--预定义变量
- WCF透明代理类,动态调用,支持async/await
我们希望WCF客户端调用采用透明代理方式,不用添加服务引用,也不用Invoke的方式,通过ChannelFactory<>动态产生通道,实现服务接口进行调用,并且支持async/await ...