文章目录
- 一、IntelliJ IDEA配置Tomcat
- 二、IntelliJ IDEA 远程调试 Tomcat 的方法
- 三、IDEA中的war和war exploded的区别
- 四、web.xml
- 1. web.xml文件常用元素详解
- 五、Servlet
- 1. Servlet 的工作原理
- 2. WEB工程加载web.xml过程
一、IntelliJ IDEA配置Tomcat
使用IntelliJ IDEA配置Tomcat详细操作 参考URL: https://www.cnblogs.com/weixinyu98/p/9822048.html IDEA配置本地tomcat启动项目 参考URL: https://blog.csdn.net/fengchao2016/article/details/83023725
二、IntelliJ IDEA 远程调试 Tomcat 的方法
IntelliJ IDEA 远程调试 Tomcat 的方法 参考URL: https://blog.csdn.net/qq_35246620/article/details/78507324
三、IDEA中的war和war exploded的区别
IDEA中的war和war exploded的区别 参考URL: https://www.jianshu.com/p/5719458486ff
-
war war模式这种可以称之为是发布模式就是先将WEB工程打成war包然后再将其上传到服务器进行发布 。
-
war exploded war exploded模式是将WEB工程以当前文件夹的位置关系上传到服务器即直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面进行加载部署。因此这种方式支持热部署一般在开发的时候也是用这种方式。
此时在tomcat的文件目录中不会有解压的war文件夹。如果用idea, 它会在${user.home}/.IntelliJIdea/system/tomcat 目录下生成项目的文件夹里面包含了tomcat的配置日志等信息。 如果用idea它会在如下目录下生成项目的文件夹
C:\Users\she\.IntelliJIdea2018.1\system\tomcat\Unnamed_webrelay
在其目录下的 /conf/Catalina/localhost 目录下有 *.xml 配置文件指定了项目的路径
C:\Users\she\.IntelliJIdea2018.1\system\tomcat\Unnamed_webrelay\conf\Catalina\localhost\ROOT.xml
四、web.xml
一般的web工程中都会用到web.xmlweb.xml主要用来配置可以方便的开发web工程。web.xml主要用来配置Filter、Listener、Servlet等。但是要说明的是web.xml并不是必须的一个web工程可以没有web.xml文件。
1. web.xml文件常用元素详解
1、schema web.xml的模式文件是由Sun公司定义的每个web.xml文件的根元素中都必须标明这个 web.xml使用的是哪个模式文件。其它的元素都放在之中。 2. 上下文参数
logbackConfigLocationclasspath:logback.xml
**声明应用范围内的初始化参数。它用于向 ServletContext提供键值对即应用程序上下文信息。**我们的listener, filter等在初始化时会用到这些上下文中的信息。在servlet里面可以通过getServletContext().getInitParameter(“context/param”)得到。
statisticscn.xxx.xxx.filter.StatisticsFilterstatistics/*
com.listener.SessionListener
最重要的一个元素 用来声明一个servlet的数据主要有以下子元素
- 指定servlet的名称
- 指定servlet的类名称
- 指定web站台中的某个JSP网页的完整路径
- 用来定义参数可有多个init-param。在servlet类中通过* getInitParamenter(String name)方法访问初始化参数
- 指定当Web应用启动时装载Servlet的次序。当值为正数或零时Servlet容器先加载数值小的servlet再依次加载其他数值大的servlet。当值为负或未定义Servlet容器将在Web客户首次访问这个servlet时加载它。
- 用来定义servlet所对应的URL包含两个子元素
- 指定servlet的名称
- 指定servlet所对应的URL
五、Servlet
JavaWeb——Servlet全网最详细教程包括Servlet源码分析 参考URL: https://blog.csdn.net/qq_19782019/article/details/80292110
ServletServer Applet全称Java Servlet未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口广义的Servlet是指任何实现了这个Servlet接口的类一般情况下人们将Servlet理解为后者。
Servlet是SUN公司提供的一门用于开发动态WEB资源的技术。SUN公司在其API中提供了一个Servlet接口用户若想开发一个动态WEB资源(即开发一个Java程序向浏览器输出数据)需要完成以下2个步骤
1. Servlet 的工作原理
Servlet接口定义了Servlet与servlet容器之间的契约。这个契约是Servlet容器将Servlet类载入内存并产生Servlet实例和调用它具体的方法。但是要注意的是在一个应用程序中每种Servlet类型只能有一个实例。
用户请求致使Servlet容器调用Servlet的Service方法并传入一个ServletRequest对象和一个ServletResponse对象。ServletRequest对象和ServletResponse对象都是由Servlet容器例如TomCat封装好的并不需要程序员去实现程序员可以直接使用这两个对象。
ServletRequest中封装了当前的Http请求因此开发人员不必解析和操作原始的Http数据。ServletResponse表示当前用户的Http响应程序员只需直接操作ServletResponse对象就能把响应轻松的发回给用户。
对于每一个应用程序Servlet容器还会创建一个ServletContext对象。这个对象中封装了上下文应用程序的环境详情。**每个应用程序只有一个ServletContext。每个Servlet对象也都有一个封装Servlet配置的ServletConfig对象。**
Servlet的工作模式
- 客户端发送请求至服务器
- 服务器启动并调用ServletServlet根据客户端请求生成响应内容并将其传给服务器
- 服务器将响应返回客户端
2. WEB工程加载web.xml过程
WEB工程加载顺序与元素节点在文件中的配置顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。WEB容器的加载顺序是ServletContext -> context-param -> listener -> filter -> servlet。并且这些元素可以配置在文件中的任意位置。
加载过程顺序如下