HTML+CSS
XML
- 标签需要闭合
- 双标签语法
- 单标签语法
- 标签属性
- 原样显示语法:
<![CDATA[<<<<hello>]]>
- XML解析技术
- jdom
- 在DOM基础上进行封装
- dom4j
- 仅对jdom进行封装
- pull
- 用于Android
- jdom
Tomcat
- 安装
- 下载地址:https://tomcat.apache.org/download-80.cgi
- 安装:绿色版,解压即可用
- 注:Windows下需要手动配置好JAVA_HOME
- 启动
- Windows
- 双击bin目录下的startup.bat
- cmd输入:
catalina run
- Mac
sudo chmod a+x tomcat/bin/*.sh
sudo tomcat/bin/startup.sh
- Windows
- 验证启动
- 浏览器访问:http://localhost:8080
- 配置
- conf/server.xml
- 部署
- 方式一
- 直接将工程拷贝到webapps目录下
- 方式二
- 在conf/Catalina/localhost下新建一个XXX.xml文件
- 文件内容:
- path:表示访问路径
- docBasc:表示工程目录
- 方式一
- idea整合Tomcat
- File | Settings | Build, Execution, Deployment | Application Servers
- idea创建动态web工程
- 右击工程目录 -> new -> Module -> Java Enterprise
- Application Server : Tomcat 8.5.***
- 勾选:Web Application
- Next
- idea修改web工程运行实例
- Run | Edit Configurations | Tomcat Server | …
- 重命名
- 更改Tomcat版本
- 更改浏览器
- 设置热部署
- 改端口号
- 改访问路径
- Run | Edit Configurations | Tomcat Server | …
Servlet
-
概念
- 是JavaEE规范之一,规范就是接口
- 是JavaWeb三大组件之一,Servlet、Filter、Listener
- 是运行在服务器上的一个小程序,负责处理请求和响应
-
简单使用
- 新建类:src/HelloServlet001.java使之implements Servlet
- 之后所有访问入口都是service()方法
- web.xml配置
<web-app> <servlet> <servlet-name>HelloServlet001</servlet-name> <servlet-class>HelloServlet001</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet001</servlet-name> <url-pattern>/HelloServlet001</url-pattern> </servlet-mapping> </web-app>
-
手动HttpServlet
- 新建类,让它继承HttpServlet类,并重写里边的doGet()、doPost()方法等
-
idea自动创建HttpServlet
- 右击->new->Create New Servlet
- 取消勾选“Create Java EE 6…”
-
ServletConfig类的使用
- 在init()方法中可以通过ServletConfig类来获取init-param自定义参数等
-
ServletContext类的使用
- 概念
- 是一个接口,表示Servlet上下文对象
- 是一个web工程,只有一个ServletContext对象实例
- ServletContext对象是一个域对象
- ServletContext在web工程启动时创建,停止时销毁
- 作用
- 获取context-param
- 获取当前工程路径
- 获取工程部署后服务器绝对路径
- 像map一样存取数据
- 概念
-
请求转发
- 注:只能工程内部请求转发
- 核心代码
RequestDispather rd = seq.getRequestDispatcher(); rd.forward(req, resp);
书城项目
- base标签的作用
- 声明当前页面运行时参照地址
- 声明在head标签中
- 请求重定向
- 设置响应码
- 设置location
- 注:不能重定向WEB-INF目录,但可以重定向工程外部链接
JSP
- JSP中九大内置对象
- request(请求对象)
- response(相应对象)
- pageContext(上下文对象)
- session(会话对象)
- application(ServletContext对象)
- config(ServletConfig对象)
- out(jsp输出流对象)
- page(指向当前jsp的对象)
- exception(异常对象)
- JSP中四大域对象
- pageContext(PageContextImpl类)
- 当前页面有效
- request(HttpServletRequest类)
- 一次请求内有效
- session(HttpSession类)
- 一次会话范围内有效(关闭浏览器失效)
- application(SevletContext类)
- web工程范围内有效(重启服务失效)
- pageContext(PageContextImpl类)
监听器Listener
- ServletContextListener监听器
- 编写一个类实现ServletContextListener接口
- 实现其两个回调方法
contextInitialized()
contextDestroyed()
- 到web.xml中配置监听器
<listener> <listener-class></listener-class> </listener>
EL表达式
- 语法
${key}
- 优先级
- 当四个域对象中存在相同的key,会按照域对象从小到大顺序读取
- pageContext > request > session > application
- 获取四个特定域中的属性
- pageScope
- requestScope
- sessionScope
- applicationScope
JSTL标签库
<c:
<fmt:
<fn:
文件上传下载
- 使用三方jar包
cookie
session
filter过滤器
- 作用
- 拦截请求
- 过滤响应
- 场景
- 权限验证
- 日志存贮
- 事务
- 使用
- 定义类并实现Filter接口
- 定义好web.xml
- 注意
- FilterChain过滤器链使用时,会按照web.xml中定义的顺序执行,但是每个Filter都要定义doFilter()方法,否则如果某个Filter中未定义doFilter()方法,后边所有的Filter都不会执行
- ThreadLocal
- 作用
- 可以为当前线程关联一个数据,解决多线程数据安全问题
- 特点
- 像map一样存储数据,key为当前线程
- 每个ThreadLocal对象只能存一个数据,可以定义多个
- 一般都是static的
- 线程销毁后,JVM自动释放
- 作用