zoukankan      html  css  js  c++  java
  • 15.Servlet程序结构与部署

    1.JavaEE应用程序结构

        组成:Servlet  JSP  工具类  第三方jar包,HTML页面(图片、Flash)

        部署结构:

       JavaEE应用根目录下的资源都是允许客户端访问的(WEB-INF除外)   有时候从安全角度考虑,可以将文件等资源放     在WEB-INF目录下,这样,这些资源对Web服务器是可见的,对客户     端是不可见的

       比如一些不希望客户端直接访问的文件和图片资源

    2.部署描述符   

    JavaEE应用的部署描述符(web.xml)描述Servlet容器运行程序所需的信息
    是一个XML格式的文档。

    首行XML的编码格式建议选用“UTF-8”
    <web-app>元素指定了Servlet的版本和文档类型规范(xsd文件)

    Servlet映射配置:

    将请求发送给Servlet的两个步骤:
    Servlet容器先区分请求所属的Web应用
    从Web应用查找合适的Servlet来处理请求
    Servlet容器将请求的URI解析为3个部分

    Request URL

    Request URI=ContextPath+ServletPath+PathInfo
    使用request.getRequestURI()获得
    上下文路径(ContextPath): Web应用的根目录
    Servlet路径(ServletPath): 由部署描述符中Servlet映射指定的路径
    路径信息(PathInfo): Servlet之后的字符串
    HttpServletRequest对象提供:
    getContextPath(),getServletPath()和getPathInfo()方法,分别获取上下文路径、Servlet路径和路径信息

    Servlet映射查找:

    Servlet容器根据部署描述符中定义的映射按以下顺序查找:
    精确映射:请求URI和Servlet映射完全匹配
    如:Servlet映射/test/do,请求URI为/test/do
    路径映射:Servlet映射以/开始,以/*结束
    如:Servlet映射/test/do/*,请求URI为/test/do/a或/test/do/b
    扩展映射:Servlet映射以*开始以.xxx结束
    如:*.do,请求为/test/a/a.do或/test/b.do
    映射不匹配:如果没有匹配的路径,找不到对应的Servlet,返回404错误页面

    3.部署JavaEE应用

      在Tomact部署JavaEE应用的方式 

    方式一:webapps目录:
    放入JavaEE应用的目录
    放war文件
    方式二:修改server.xml文件
    方式三:修改context.xml文件

     war文件:

        同jar的作用类似,将JavaEE应用的资源打包成单独的war文件,方便迁移

    Tomcat会自动提取webapps目录下的war文件解压并部署
    打包的方法
    …/mysite> jar.exe -cvf mysite.war *
    使用eclipse

    修改serve.xml文件

    在server.xml中指
    打开server.xml文件,定在Host标签内新建Context <Context path=“/ myapp " reloadable="true" docBase="D:myapp" workDir="D:myappwork"/>其中path是应用虚拟路径,docBase是应用的物理路径,workDir是应用的工作目录
    注:删除一个应用同时删除server.xml中相应的Context节点

    修改context.xml文件

    创建一个context文件
    直接在Tomcat的confcatalinalocalhost目录下新建context.xml文件
    注:删除一个Web应用同时删除conf catalinalocalhost目录下相应的context.xml文件

    Web服务器默认的Web应用

    Web服务器通常会维护一个默认的Web应用,用来处理非用户创建的Web应用程序的请求
    Tomcat的默认应用:webappsROOT
    默认的Web应用通常用于测试单个Servlet、JSP或静态内容
    访问:http://localhost:8080/

  • 相关阅读:
    微信扫码跳转到H5页面输入时,如何去掉提示:防盗号或诈骗,请不要输入QQ密码?
    org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.1428942566812653608
    centos7 中查看log_bin是否开启以及开启log_bin
    从支付宝SDK的支付流程理解什么是公钥和私钥,什么是加密和数字签名
    Centos7中rc.local设置springboot项目开机自启动
    IIS配置实现反向代理(图文)
    【经验分享】卡方检验实战--检验次日留存率与用户分类的独立性
    R绘制3D散点图
    kmeans聚类理论篇
    PCA主成份分析学习记要
  • 原文地址:https://www.cnblogs.com/Firesun/p/9764843.html
Copyright © 2011-2022 走看看