一、TOMCAT
1)Tomcat背景
Apache公益软件组织开发的一款服务器,用于运行jsp的项目。
免费。
2)配置
Config目录下server.xml
端口,字符编码等等配置
Webapps 项目目录
Root 根项目。保证服务器安全 删掉!
Work缓存。第一次访问会生成缓存,提高后续访问效率
二、Servlet
1)作用
Servlet 是运行在 Web 服务器或应用服务器上的程序
2)生命周期
第一次访问servlet的时候。初始化servlet对象,init,进入service方法,根据get、post请求进入doget,dopost方法。关闭tomcat的时候销毁servlet,执行destory方法。 Servlet只有一个实例。单例模式。
线程不安全!
在web.xml中配置 load-on-startup 1 随着项目启动加载。
3)配置
需要配置在web。Xml中
Servlet servlet-mapping
4)Get/Post区别
Get显示提交,不安全,提交数据有限制
Post隐示提交,安全,隐藏参数,提交数据无限制。
5)常用方法
Request.getParameter();获取表单数据
Request.getParameterNames();获取提交过来所有的name值
Request.getreuqestURL;获取用户访问的路径
Request.setAttribute(‘’,’’)向request域中放入键,值
Request.getAttribute(‘’)从request域中取出值
Request.getRequestDispather(“”).forward获取请求转发器,转发
Request.getParameterValues();;多选的值, 表单中有多个name相同的
HttpSession se = request.getSession();
Se.setAttribute(‘’,’’) 向session域中放入键,值
ServletContext sc = se.getServletContext();
Sc.set Attribute(‘’,’’) 向application域中放入键,值
Reponse.senRedirect(“”);重定向
请求转发和重定向区别
请求转发 作用于项目内部的请求,默认根路径就是项目下 。
请求转发是一次请求。所以可以使用request传递数据
浏览器会发送两次请求,默认根路径非项目下。必须加上项目名称。
可以跳转到任何项目。
6)过滤器 filter
作用:拦截未授权的访问,统一处理字符集,日志记录
面向切面编程,不侵入源代码,高层次的解耦和。
需要配置在web.xml中。
7)监听器 Listener
可以监听session的创建销毁。
8)初始化文件
可以再web.xml中配置初始化文件,用于启动时读取操作。
三、JSP
1)背景
JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。
JSP(全称Java Server Pages)
2)基本语法
脚本:<% %>
表达式:<%= %>
声明:<%! %> 只能在这里面写方法
指令:<%@ %> 用来引包
行为标签:
<jsp:include page="head.jsp"></jsp:include>
<jsp:forward page="sss.jsp"></jsp:forward>
九大内置对象
四大作用域
page : 页面对象: 只能在当前jsp中使用、 几乎没用
request :请求对象:用于一次请求传递数据。
session: 会话对象,一般用于保存登录信息,每个用户都有一个sessionId
服务器上根据sessionId判断存储的session数据是哪一个用户的。
session之间相互独立。占据服务器内存空间。所以说不要放大量数据进入
session。默认不访问存活半小时
application:所有用户公用一个application对象。服务器关闭的时候会销毁。
作缓存。
展老师 : 100道题。100000*100=10000000 一千万次访问数据库。
系统启动时,把数据库的题全部加载到application里。
放入缓存条件:
访问量大,不经常改,甚至不改。
cookie:浏览器缓存。一般用于保存用户浏览记录,账号密码。不安全!
response:响应对象。对客户的请求做出动态的响应,向客户端发送数据。
out: 页面输出对象。
Config对象
配置对象
页面对象。
Exception:一场对象
4)EL JSTL
美化页面,使我们访问,request.session,application作用域中的对象或属性非常便捷。
${ }
Jstl 扩展库,用于页面中做判断,循环,读取集合中的对象。
