Servlet配置虚拟路径(访问路径)的三种方法以及web开发中的路径问题

一、虚拟路径

配置虚拟路径

  web.xml配置文件的虚拟路径

    <servlet-mapping>

<url-pattern>/demo5</url-pattern>

</servlet-mapping>

三种配置方法

   * 完全路径匹配

* 以/开头的                 /demo5         /servlet/demo5

  * 目录匹配

      * 以/开头的                    /*

      * 通过:http://localhost/day09/demo5可以访问

  * 扩展名匹配

      * 不能以/开头的             *.do         *.action

      * 通过:http://localhost/day09/demo5.do可以访问

* 三种访问路径的优先级

  * 完全路径匹配       > 目录匹配 > 扩展名匹配(*****)

* Servlet路径映射举例

  

二、web开发中的路径问题

  * 相对路径

    * 一个文件相对于另一个文件的位置的关系。

* 不能以/开头      写法:./demo=demo同级目录  ../demo上级目录

  * 绝对路径(推荐使用)

    * 以 “/” 开头的

* 访问demo5:   http://localhost/day09/demo5

* 从1.html使用绝对路径访问demo5:http://localhost/day09/demo5

* 简写方式:/day09/demo5

    * 客户端绝对路径

*        /day09/demo5     需要写项目名

    * 服务器绝对路径

*         /demo5      不能写项目名

三、ServletConfig对象:和配置文件相关

    :服务器加载配置文件,然后把内容赋值给ServletConfig对象

        Init(ServletConfig  config):初始方法中的参数对象

  * 配置初始化参数

* 需要在<servlet></servlet>标签下配置。

       * 如果要是配置在某个servlet的标签下,那么只能在该servlet中获取初始化参数。

<init-param>

<param-name>username</param-name>

<param-value>root</param-value>

</init-param>

* String getServletName()                              获取配置文件中servlet的名称

* String getInitParameter(String name)          获取初始化参数

* Enumeration getInitParameterNames()        获取初始化参数的名称们

注意:System.out.println()向控制台Console输出内容,

Response.getWrite().write():向浏览器输出内容

四、ServletContext对象(域对象)(接口)

  * 定义:WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。

* 一个WEB应用对应一个ServletContext对象

* 一个WEB应用下有多个Servlet程序

* 一个web应用所有的servlet程序都共享同一个ServletContext对象

  * demo1存入内容到ServletContext,demo2从ServletContext中取出来:

    * ServletContext相当于一个媒介,demo1向其中存入数据,demo2可以冲其中取出数据

   

原文地址:https://www.cnblogs.com/zsj03180204/p/11044324.html

时间: 2024-10-17 14:45:13

Servlet配置虚拟路径(访问路径)的三种方法以及web开发中的路径问题的相关文章

VBS中解决路径带空格的三种方法

vbs中,如果需要运行的程序中带有空格,按照通常的方式往往会提示错误,其实有两种形式不同的解决方法: 在应用程序前后分别加三个双引号,代码如下: [c-sharp] view plaincopyprint? Set wshell=CreateObject("WScript.Shell") wshell.Run  """C:/Program Files/360/360se/360se.exe""",5,True Set wshe

web开发中的路径问题

http://www.cnblogs.com/tianguook/archive/2012/08/31/2665755.html 转自:http://www.blogjava.net/meil/archive/2006/10/10/73908.html 前言: 前一段时间,由于在处理Web应用下的文件创建与移动等,因此涉及到很多关于java中相对路径,绝对路径等问题.同时,对于Web应用中的相对路径,绝对路径,以及Java.io.File类学习了一下.也找了一些资料.希望大家遇到类似的问题,可以

vue-cli 利用 webpack 给生产环境和发布环境配置不同的接口地址的三种方法

第一种方法: 在/config/dev.env.js下配置如下 在/config/prod.env.js下配置如下 已经分别设定路径,接下来就是如何调用的问题了. 原来api文件里代码如图所示 修改为 然后就完成了我们的配置工作.最后,重启项目,就能使新配置的接口地址生效了. 在经过这样的配置之后,我们在运行 npm run dev 的时候,跑的就是开发环境的接口.而我们运行 npm run build 打包项目的时候,打包的是服务器正式接口,我们就不用调来调去得了. 第二种方法: 可以使用 "

虚拟主机设置伪静态的三种方法

如今,很多站长都有使用香港虚拟主机来搭建网站,比较常见的有Linux香港虚拟主机.Windows香港虚拟主机. 值得一提的是,为了有利于网站的收录,很多站长使用香港虚拟主机搭建好网站后,一般都会进行伪静态设置.那么,在使用香港虚拟主机的话,网站的伪静态是怎么设置的?这里就来简单的了解下. 目前,Windows香港虚拟主机采用的是IIS服务器,而Linux香港虚拟主机采用的是Apache服务器.因此,如果要想设置伪静态的话,我们需要在其相应的配置文件中进行设置,对应关系如下: 1.iis7.iis

[备忘录]三种方法取得网站根目录的物理路径

1.HttpContext.Current.Server.MapPath("~"); 2.HttpRuntime.AppDomainAppPath(推荐); 3.AppDomain.CurrentDomain.BaseDirectory; 结果: E:\IIS\WebApi\ 理由: 第1种写法,有时候HttpContext.Current会为null,比如多线程的时候. 第3种写法,有时候获得的路径是E:\IIS\WebApi,少了"\".看其它博友说的,本人未验

访问像素的三种方法

方法一:用指针访问像素 1 #include <opencv2/opencv.hpp> 2 #include <opencv2/core/core.hpp> 3 #include <opencv2/highgui/highgui.hpp> 4 using namespace cv; 5 using namespace std; 6 void colorReduce(Mat &inputImage,Mat& outputImage,int div) 7 {

线程间操作无效:从不是创建控件的线程访问它的三种方法

访问 Windows 窗体控件本质上不是线程安全的.如果有两个或多个线程操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态.还可能出现其他与线程相关的 bug,包括争用情况和死锁.确保以线程安全方式访问控件非常重要. 解决办法 1.把CheckForIllegalCrossThreadCalls设置为false 在多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,如果需要访问窗口中的控件,可以在窗口构造函数中将CheckForIllegalCrossThreadCalls设置为

Qt: 访问容器(三种方法,加上for循环就四种了)good

#include <iostream>#include <QString>#include <QList>#include <QListIterator> int main(int argc, char *argv[]) { QList<QString> list; list << "One" << "Two" << "Three"; foreach(

如何判断网站是不是ipad访问的?三种方法来判断

如何判断是否是 iPad 浏览器呢,关键是看它的 User Agent 中是否有 iPad.iPad 使用的是 Safari Mobile 浏览器,他的的 User Agent 是:Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10 Javascript functi