1:tomcat目录
(1)bin:bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。
(2)conf:conf目录主要是用来存放tomcat的一些配置文件
(3)lib:lib目录主要用来存放tomcat运行需要加载的jar包。
(4)logs:logs目录用来存放tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志。
(5)temp:temp目录用户存放tomcat在运行过程中产生的临时文件
(6)webapps:webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。
(7).work: work目录用来存放tomcat在运行时的编译后文件
2:jsp的3大指令
page指令:用来定义JSP文件中的全局属性.
Include指令:导入项目中已存在的文件
taglib指令:是定义一个标签库以及其自定义标签的前缀.
6大动作
<jsp:include>//动态包含
<jsp:forward>//请求转发
<jsp:param>//设置请求参数
<jsp:useBean>//创建一个对象
<jsp:setProperty>//给指定的对象属性赋值
<jsp:getProperty>//取出指定对象的属性值
9大内置对象
request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request
response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page
pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page
session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page
config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page
page 页面对象 类型 javax.lang.Object 作用域 Page
exception 例外对象 类型 javax.lang.Throwable 作用域 page
4大作用域
PageContext:pageContext存放的数据在当前页面有效,开发时使用较少
ServletRequest:request存放的数据在一次请求或转发中有效,使用非常多
HttpSession:session存放的数据在一次会话中有效,如:存放用户登陆信息
ServletContext:application存放的数据在整个应用范围内有效。
3:struts-action的返回类型
默认的是:dispatcher 转发:(路径不发生变化,可以通过request传递参数)
redirect 重定向:(路径发生变化、不能传递参数)
redirectAction 重定向到action
4:页面的转发(dispatcher)与重定向(redirect)的区别
1 .首先:用dispatcher(转发)的时候地址栏地址不改变;而用(redirect)重定向的时候地址栏地址会发生改变;
2 .其次:用dispatcher的时候服务器只发一次请求,而用redirect的时候服务器会发两次请求
3 .最重要的一点:dispatcher用于两个组件协同工作的时候,而redirect用于一个工作完成之后开始下一个工作,重定向之后当前页面的所有数据信息在下一个 页面将全部失效,也就是说,使用redirect跳转页面的时候不能把当前页面的参数传递到下一个页面
5.get和post的区别;
get是从服务器上获取数据,post是向服务器传送数据。
6.cookie和session的区别;
session是存在服务器端的,会在客户端生成一个sessionid,保存在cookie里边,方便寻找回话。
7;jre、jdk和jvm的区别
jdk:java开发工具,jre:java运行环境,jvm:java虚拟机,jdk包含jre包含jvm.
8;Struts2的工作流程
<1客户端发送请求 (客户端初始化一个指向Servlet容器(如Tomcat)的请求)
<2、请求经过一系列过滤器(如ActionContextCleanUp、SiteMesh 等),ActionContextCleanUp-->FilterDispatcher
<3、FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action
<4、如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给 ActionProxy,
<5、ActionProxy通过ConfigurationManager询问Struts配置文件(Struts.xml),找 到需要调用的Action类。
<6、ActionProxy创建一个ActionInvocation的实例
<7、ActionInvocation调用真正的Action,当然这涉及到相关拦截器的调用 (interceptor)
<8、Action执行完毕,ActionInvocation创建Result并返回,返回结果前要做些动作也 是 可以的
9;Struts2的传值方式?
通过全局变量进行传参。