1.tomcat目录结构?
目录及文件 | 说明 |
---|
bin | 用于存放 Tomcat的启动、停止等脚本命令和Shell脚本 |
bin/startup. bat | 用于在 Windows下启动 Tomcat |
bin/startup.sh | 用于在 Linux下启动 Tomcat |
bin/shutdown. bat | 用于在 Windows下停止 Tomcat |
bin/shutdown.sh | 用于在 Linux下停止 Tomcat |
conf | 用于存放 Tomcat的相关配置文件 |
conf/Catalina | 用于存储针对每个虚拟机的 Context 配置 |
conf/context.xml | 用于定义所有Web应用均需要加载的 Context 配置,如果Web应用指定了自己的context.xml,那么该文件的配置将被覆盖 |
conf/catalina.properties | Tomcat环境变量配置 |
conf/catalina.policy | 当 Tomcat在安全模式下运行时,此文件为默认的安全策略配置 |
conf/logging.properties | Tomcat日志配置文件,可通过该文件修改 Tomcat日志级别以及日志路径等 |
conf/server.xml | Tomcat服务器核心配置文件,用于配置 Tomcat的链接器、监听端口、处理请求的虚拟主机等。可以说,Tomcat主要根据该文件的配置信息创建服务器实例 |
conf/tomcat-users.xml | 用于定义 Tomcat默认用户及角色映射信息,Tomcat的 Manager模块即用该文件中定义的用户进行安全认证 |
conf/web.xml | Tomcat中所有应用默认的部署描述文件,主要定义了基础 Servlet和MIME映射。如果应用中不包含 Web. xml,那么 Tomcat将使用此文件初始化部署描述,反之,Tomcat会在启动时将默认部署描述与自定义配置进行合并 |
lib | Tomcat服务器依赖库目录,包含 Tomcat服务器运行环境依赖lar包 |
logs | Tomcat默认的日志存放路径 |
webapps | Tomcat默认的Web应用部署目录 |
work | 存放Web应用JSP代码生成和编译后产生的class文件目录 |
temp | 存放tomcat在运行过程中产生的临时文件 |
2.web项目目录结构?
-MATE-INF:项目的元数据存放目录
-WEB-INF:项目资源主要存放目录
--lib:项目运行依赖的jar包
--classes:src目录下所有java文件编译后放的位置(web项目的类路径)
--web.xml:项目的配置文件
--[xxx.jsp:页面]
-index.jsp:首页
-[xxx.jsp:页面]
基于maven构建的web项目目录结构
--project
--out:为输出文件夹,存放项目中所有model编译后的文件。
--src:源码文件夹。
--main:主代码文件夹。
--java:java代码文件夹。
--resources:资源代码文件夹,例如一些conf.xml。
--webapp:页面文件夹,可以放一些html、jsp页面。
--WEB-INF:存放一些插件文件。(因为这个文件浏览器不可访问)
--web.xml:web的配置文件。
--lib:java类运行所需的jar包
--test:测试代码文件夹。
--target:为输出文件夹,存放项目中某个model编译后的文件。
3.什么是Servlet?
Servlet是运行在Web服务器上的程序,它通过超文本传输协议(Http)来接收并响应来自Web客户机的请求。
4.如何创建一个Servlet?
1、实现 Servlet 接口
2、继承 GenericServlet 类
3、继承 HttpServlet 类
5.Servlet生命周期?
1、Servlet容器会创建一个Servlet实例并调用init()方法进行初始化;
2、服务器调用service()方法来处理客户端请求;;
3、调用destroy()方法终止。
6.JSP与Servlet区别?【掌握】
JSP是在HTML代码里写JAVA代码,框架是HTML, 它是一项支持开发动态内容的网页的技术;
JSP页面编译后是一个Servlet(所以两者本质是一样的);
在实际应用中,JSP主要用在视图层,来展示数据; 而Servlet则用在控制层,来处理程序逻辑;
7.JSP 9大内置对象是什么?
request:接收客户端发送的数据;
response:服务器向客户端的响应信息
session:客户端与服务器端的一次会话
application:web应用
config:获取servlet初使化参数的对象;
exception:当一个页面在运行过程中发生异常时,就会产生这个对象。
page:当前JSP页面本身,类似于Java类中的this关键字
pageContext:JSP页面容器
out:向客户端输出内容
8.什么session对象,session对象作用?【掌握】
Session中文是“会话”的意思,一个会话是指用户通过客户端与服务器之间进行的一系列的交互过程,交互期间可以包含浏览器与服务器之间的多次请求、响应。
Session常见的作用:实现网页之间数据传递,保存用户的各种信息。
9.页面转发与页面重定向的区别?【掌握】???
| 转发 | 重定向 |
---|
跳转方式 | 服务器端转发 | 客户端转发 |
客户端发送请求次数 | 1变 | 2次 |
客户端地址栏URL是否改变 | 不变 | 变 |
是否共享request域 | 共享 | 不共享(request域中的数据丢失),必须使用session传递属性 |
是否共享response域 | 共享 | 不共享 |
范围 | 网站内 | 可以跨站点 |
10.什么是Cookie?Cookie能做什么?【掌握】
Cookie是浏览器支持的一种本地存储机制。由服务端生成,在响应请求时被自动存储在浏览器中。
Cookie作用:记录用户的登录状态、跟踪统计用户访问该网站的习惯、识别用户身份、保存客户信息。
11.session与cookie的区别
| Cookie | session |
---|
保存信息的位置 | 客户端 | 服务器端 |
保存的内容 | 字符串 | 对象 |
安全性 | 不安全 | 安全 |
大小 | 不能大于4KB | 不受限制 |
存活时间 | 自己定义 | 默认30分钟 |
12.JSP四大域对象
pageContext : 只在一个页面中保存属性,跳转之后无效
request : 只在一次请求中保存,服务器跳转后依然有效
session : 在一次会话范围中,无论何种跳转都可以使用
application : 在整个服务器上保存
(作用范围:小→大)
13.页面传值的常用方式?【掌握】
1、url携带参数
优点:取值方便,可以跨域,利于页面分享,没有环境限制。
缺点:url携带参数值的长度有限制,不安全。
2、cookie方式
优点:可以在同源内的的任意网页中访问,存储数据的周期可以自由设置。
缺点:有长度限制。
3、session
4、Application对象传值:Application对象的作用范围是整个全局,他对所有用户都有效
5、通过request传递