黑马程序员最新版JavaWeb基础教程,Java web从入门到企业实战完整版


JSTL使用
1.导入坐标
2.在jsp页面上引入JSTL标签库
3.使用
<c:if>

EL主要功能:获取域中路的数据,前提时域中有值
${brands} : 获取域中储存的key为brands的数据
例子中为request域


现在主流的一些方式!

jsp三种脚本
1.<%....%>: 这个里面写一般的java代码 ,直接放到jspService方法里面,逻辑处理,输出到控制台
2.<%=.....%>: 这个里面写的回直接打印到页面,
这个里面写的内容会成为outprint的参数直接打印到页面
3.<%!....%>: 这个里面写的东西会放到jspService方法外部,class文件内部,也就是成员部分,
定义成员方法,
定义成员变量

jsp原理:编译文件中jsp被编译成.class文件 实质上就是一个servlet文件, 这个文件中有一个核心方法:jspService方法 ,每一次访问jsp的时候都会访问这个方法,这个里面就是调用.write方法输出HTMl文件代码
.

jsp本质上就是一个servlet

字节流响应

response响应数据 ,在浏览器页面返回数据,写数据
动态获取虚拟目录的方法,降低代码耦合性
request.getContextPath();

浏览器使用需要加虚拟目录 就是双层目录
服务器使用不需要使用虚拟目录 单程目录

重定向特点方式方法!

request 储存数据 请求转发之后的页面可以 获取数据 也可以删除数据


解决请求参数中文乱码的问题
request.setCharacterEncoding("UTF-8");
只能解决post请求的乱码问题,不可以解决get请求的乱码问题
request获取参数通用方式
它获取的参数会被封装成一个Map集合
三种方式获取参数 1.所有map集合.2.数组3.单个值


HTTPServlet方法使用步骤及原理
post方式的请求参数位置在请求体里面
get方式的请求参数 在请求行里面
不同的请求方式要写不同的请求处理逻辑
在service里面根据请求方式的不同,进行分别的处理
1.获取请求方式
2.判断请求方式是get还是post


getServletConfig方法

@WebServlet 中两个属性
1.urlPatterns 访问路径
2.loadOnStartup 修改Servlet被创建的时机,默认为-1 表示Servlet 第一次被访问的时候调用init方法
改为0或正整数的 时候 表示服务器打开还没访问Servlet的时候创建对象 调用 init方法

servlet的三个关键方法
1. init方法 默认情况下Servlet第一次被访问时被调用 该方法只会被调用一次 在控制台!!!
2.service方法,提供服务,每次Servlet被访问的时候调用
3.Destroy方法,销毁方法,服务器关闭的时候,Servlet对象会被销毁,调用 ,调用1尺
Servlet四个过程,三个生命周期


Tomcat插件的方式可以配置<port> 修改端口号
<path> 修改项目的访问路径
主键返回


分页工具条

${}: EL表达式
JSTL:代替jsp中的java代码!
使用之前先要导包
<c:if test = "${status ==1}">
启用
</c:if>
iteam属性:被遍历的容器,
var: 遍历产生的临时变量
<c:forEach items="${brands}" var="brand">
</c:forEach>
Servlet->JSP->Servlet+JSP->Servlet+HTml+ajax
jsp的缺点7条
resultMap 标签 column表列名 property实体类属性名
sql片段替换
sql语句特殊字符处理 <
1,转义字符
2,CDATA区 CD提示出来

动态sql,用户输入缺失的条件,也可查询,使用if判断,test属性进行条件判断

<where>动态sql,当中间sql语句又and,语句不通时用,自动删除and,智能添加删除语句

choose(when , otherwise);相当于Java中的switch case default

添加后获取主键id
开启sqlsesition对象时可以true关闭事物,自动提交
html 本地路径书写方式

./a.jpg & a.jpg html页面和路径文件在同一个文件夹下面
../img/a.jpg html文件和img文件在不同文件夹
超链接 href target 属性 _self 当前页面打开 _blank 空白页面打开
location.href = "baidu" 直接跳转百度
DOM 文档对象模型
onblur 元素失去焦点
onfocus 元素获得焦点
如何调用另一个方法的局部变量,把该局部变量,放到类中当成成员变量,再用this.变量来给该成员变量赋值,其他变量可以通过访问成员变量来访问到该局部变量
HTTPservlet 接口:
1.doGet方法:直接输入地址时访问的方法
2.doPost方法:提交表单的时候提交的方法
get 和 post 的消息请求方式不一样,我们要分别去处理
所以要获取不同的请求方式去做不同的处理