Java : JavaWeb和Tomcat相关
部署:
1.直接把项目移动到webapps文件夹下, 用文件夹名访问(如果ROOT文件夹可以直接访问)
2.也可以把war包放到webapps文件夹下, tomcat自动解压,但是删除war包必须要停止tomcat才能删,不然会把项目也一起删除
3.在 server.xml中 Host标签内加上 <Context docBase="D:\tomcat7\hello" path="/hehe" /> 这样一段, 即可访问/hehe来访问这个项目(server.xml必须要重启才能生效)
3.在conf/Catalina/localhost下面新建xml文件, 文件名字就是虚拟路径,然后里面写<Context docBase="D:\tomcat7\hello" />
java动态项目: WEB-INF目录下: web.xml(核心配置文件), classes: 项目字节码文件, lib:依赖的包.
---------------------------------servlet-----------------------------------------------------------------------
servlet类需要实现Servlet接口(或抽象类HttpServlet),然后在web.xml里面配置,如:
load-on-startup如果为0或正整数,则容器启动之后马上被创建, 如果默认或者为复数,则第一次访问时被创建.
(servlet3.0规范支持注解配置, 只需要在类上面加@WebServlet注解,然后在注解里面配置就可以)
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>com.smile.sv.web.ServletDemo1</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<url-pattern>/demo1</url-pattern>
</servlet-mapping>
ServletContext官方叫servlet上下文。服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。
有如下3个方法:
setAttribute(name,value);name是String类型,value是Object类型;
往域对象里面添加数据
getAttribute(name);
根据指定的key读取域对象里面的数据
removeAttribute(name);
根据指定的key从域对象里面删除数据
==============================================过滤器与监听器========================================================