浅谈Servlet转发到JSP页面的路径问题(必看)
一、现象与概念
1. 问题
在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题。
2. 绝对路径概念
相对于contextPath(当前Web应用的上下文)的路径。
解决方案:超链接用绝对路径而不是相对路径。若/代表的是站点的根目录,在其前面加上contextPath。
<a href="<%= request.getContextPath() %>/TestServlet" rel="external nofollow" >To B</a>
二、JavaWeb开发中的'/'含义总结
1. 当前Web应用的根路径
'/'代表http://localhost:8080/contextPath/ :由Servlet来处理的地址
1)转发:request.getRequestDispatcher("/path/b.jsp").forword(request, response);
2)web.xml文件中映射Servlet访问路径
<servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/TestServlet</url-pattern> </servlet-mapping>
3)各种定制标签中的'/'。
2. Web站点的根路径
'/'代表http://localhost:8080/ :由浏览器来处理的地址
1)超链接:<a href="/TestServlet" rel="external nofollow" >To B</a>
2)form标签中的action:<form action="/b.jsp">
3)重定向:response.sendRedirect("/b.jsp");
以上这篇浅谈Servlet转发到JSP页面的路径问题(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
JSP 开发之servlet中调用注入spring管理的dao
JSP 开发之servlet中调用注入spring管理的dao 我们用spring的依赖注入可以将dao注入到action中,然后我们就可以直接调用了dao中的方法了,可是servlet不是由spring容器管理,所以在servlet中不能注入dao类,也就不能用dao中的方法. 下面是实现方法: private UserDao userDao; public void init() throws ServletException { super.init(); ServletContext s
-
Jsp+Servlet实现购物车功能
本文实例为大家分享了Servlet实现购物车功能的具体代码,供大家参考,具体内容如下 (1)用servlet实现简单的购物车系统,项目结构例如以下:(新建web Project项目 仅仅须要AddItemServlet , ListItemServlet.exam403.jsp三个文件就可以.其它的不用管) (2)exam403.jsp代码例如以下: <%@ page contentType="text/html; charset=gb2312" language="
-
JSP中通过Servlet 将服务器硬盘图片并展示到浏览器
JSP中通过Servlet 将服务器硬盘图片并展示到浏览器 其实这个实例非常简单,但是今天有人问我了,而且我也写了个小例子,就顺便发上来吧! 在浏览器显示一张图片,使用标签 <img src=""> img 元素向网页中嵌入一幅图像. 请注意,从技术上讲,<img> 标签并不会在网页中插入图像,而是从网页上链接图像.<img> 标签创建的是被引用图像的占位空间. <img> 标签有两个必需的属性:src 属性 和 alt 属性. HTML
-
JSP 开发之THE SERVLET NAME ALREADY EXISTS.解决方法
The servlet name already exists.解决方法 当我们建立过同名的servlet文件,然后又将其删掉后再用同类名字建一个servlet时就会报错. 解决办法:web.xml里面存有servlet的映射关系,需要自己手动删除web.xml里面的映射关系. 删除,保存刷新即可 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
-
JSP 中Servlet的自己实现
JSP 中Servlet的自己实现 一 步骤 1.继承HttpServlet 2.重写doGet()或者doPost()方法 3.在web.xml中注册Servlet 二 HttpServlet类继承图 三 实例 1.创建MyFirstServletDemo web project. 2.编辑index.jsp <%@ page language="java" import="java.util.*" contentType="text/html;
-
Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析
在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径. 另:在Jsp,Servlet,Java中详细获得路径的方法! 1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp
-
JSP开发Servlet重写init()方法实例详解
JSP开发Servlet重写init()方法实例详解 写一个Servlet时,有时需要我们重写该Servlet的初始化方法,然后,究竟是重写init(ServletConfig config),还是重写init(),这是个问题.要明了这一点,首先要知道Servlet的几个类和接口的联系: ServletConfig接口:其中有getServletName();getServletContext();getInitParameter(String name);getInitParameterNam
-
JSP 开发之Servlet解决网页缓存问题
JSP 开发之Servlet解决网页缓存问题 (1)我们为什么要防止游览器页面缓存的问题: 所以在不需要缓存的页面中需要实现不缓存页面: 代码如下: package com.lc.HttpTest; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.ser
-
浅谈Servlet转发到JSP页面的路径问题(必看)
一.现象与概念 1. 问题 在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题. 2. 绝对路径概念 相对于contextPath(当前Web应用的上下文)的路径. 解决方案:超链接用绝对路径而不是相对路径.若/代表的是站点的根目录,在其前面加上contextPath. <a href="<%= request.getConte
-
浅谈java中OO的概念和设计原则(必看)
一.OO(面向对象)的设计基础 面向对象(OO):就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供灵活性,来认识.理解.刻划客观世界和设计.构建相应的软件系统.面向对象的特征:虽然各种面向对象编程语言相互有别,但都能看到它们对面向对象基本特征的支持, 即 "抽象.封装.继承.多态" : – 抽象,先不考虑细节 – 封装,隐藏内部实现 – 继承,复用现有代码 – 多态,改写对象行为 面向对象设计模式:是"好的面向对象设计",所谓"
-
浅谈pyhton学习中出现的各种问题(新手必看)
目前比较杂乱无章,后续还会有一些添加补充 1.标识符 (1)标识符是区分大小写的. (2)标示符以字母或下划线开头,可包括字母,下划线和数字. (3)以下划线开头的标识符是有特殊意义的. 2.参数前加星号(*)的意义 面对实际情况时无法提前得知要传入的参数的个数,因此在参数前加星号从而允许函数接受任意多的参数,情况如下: (1)参数前加一个星号(*),传入的参数存储为元组的形式: (2)参数前加两个星号(*),传入的参数存储为字典的形式,并且调用时采用例如'a=1,b=2,c=3'的形式. 3.
-
浅谈linux下的一些常用函数的总结(必看篇)
1.exit()函数 exit(int n) 其实就是直接退出程序, 因为默认的标准程序入口为int main(int argc, char** argv),返回值是int型的. 一般在shell下面,运行一个程序,然后使用命令echo $?就能得到该程序的返回值,也就是退出值,在main()里面,你可以用return n,也能够直接用exit(n)来做.unix默认的习惯正确退出是返回0,错误返回非0. 重点:单独的进程是返回给操作系统的.如果是多进程,是返回给父进程的. 在父进程里面调用w
-
浅谈C++函数声明后面加throw()的作用(必看)
问题描述: C++里面为什么有时候在函数声明的时候在后面加throw()关键字? 解释: C++函数后面加关键字throw(something)限制,是对这个函数的异常安全作出限制:这是一种异常规范,只会出现在声明函数时,表示这个函数可能抛出任何类型的异常. void fun() throw(); //表示fun函数不允许抛出任何异常,即fun函数是异常安全的. void fun() throw(...); //表示fun函数可以抛出任何形式的异常. void fun() thr
-
浅谈Servlet开发技术基础
一.Servlet概述 1.sun公司提供的动态web资源开发技术.本质是上一段java小程序,要求这个小程序必须实现Servlet接口,以便服务器能够调用. 2.开发Servlet的两个步骤 *实验:Servlet的快速入门 (1)步骤一:写一个java程序实现Servlet接口(此处直接继承了默认实现类GenericServlet) package cn.itheima; import java.io.*; import javax.servlet.*; public class First
-
浅谈Servlet的Cookie和Session机制
一.Servlet Cookies Cookies定义:Cookies是存储在客户端计算机上的文本文件,并保留了用户的各种跟踪信息. Cookies作用:会话保持,如完成用户的登录与状态保持 Cookies的工作原理: 客户端向服务区发起登录请求 服务器脚本(代码)向浏览器发送一组Cookies,例如:姓名,年龄等 浏览器将这些信息存储在本地计算机上,以备将来使用 当下一次浏览器向web服务器发送任何请求时.浏览器会把这些Cookies信息发送到服务器,服务器将使用这些信息来识别账户 1.1 C
-
浅谈servlet中的request与response
在b/s架构中,有request浏览器的请求,也有response的服务器反馈.底层是tcp/ip协议,应用层是http协议.在tomcat服务器中,版本6使用的http1.1版本协议.服务器发出request请求,在请求中有可能加载get和post请求(doget请求,是放在URL中可以使用getparmeter进行解析,因为tomcat把每一个网页请求看做一个对象,所以是面向对象(HttpServletRequest)进行封装,并有doget和dopost进行 对应的解析.主要的API如下:
-
浅谈vue异步数据影响页面渲染
今天遇到一个问题,要保证页面渲染前请求的数据已经得到了 由于user是在异步请求之后保存在session中,而在页面渲染时session中还没有user,页面直接报错. 因此我希望能在所有请求都得到后再去做页面的渲染. 1.先把id为app的div用v-if="appShow",定义appShow为false进行隐藏,避免渲染 2.写计数器,每1ms进行一次查询,如果session中已经有user,删除过滤器,移除滤布,appShow为true,开始渲染页面,这样可以保证页面的正常渲染
-
浅谈Java工程读取resources中资源文件路径的问题
正常在Java工程中读取某路径下的文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径.在本地工程和服务器中读取文件的方式有所不同,以下图配置文件为例. 本地读取资源文件 java类中需要读取properties中的配置文件,可以采用文件(File)方式进行读取: File file = new File("src/main/resources/properties/basecom.properties"); InputStream in = new
随机推荐
- Angular.js中$apply()和$digest()的深入理解
- Swift使用Cocoa中的数据类型教程
- 在Android 模拟器上安装和卸载APK包的方法
- C#双向链表LinkedList排序实现方法
- 为MySQL安装配置代理工具Kingshard的基本教程
- JavaScript生成二维码图片小结
- 基于jquery实现select选择框内容左右移动添加删除代码分享
- 360安全卫士 3.0 正式版下载
- bootstrap实现图片自动轮播
- JavaScript数据结构之广义表的定义与表示方法详解
- Java多线程-线程的同步与锁的问题
- 用Rsync(cwRsync)将Dreamhost的数据备份到Windows上
- IOS 基础之nil,NULL,NSNULL区别详解
- 玩转注册表 系统注册表文件解锁奇招
- CentOS 6.3安装配置Weblogic-10方法
- Android使alertDialog.builder不会点击外面和按返回键消失的方法
- ViewPager的setOnPageChangeListener方法详解
- 合理管理系统 八招改变磁盘杂乱状态
- Intellij Idea插件开发之创建项目层级的右键菜单
- 浅谈Angular 的变化检测的方法