网站用ai做还是ps,杭州制作手机网站18,网站建设中采用的技术,wordpress 制作小工具栏概念#xff1a;Java Server Pages#xff0c;Java服务端页面
一种动态的网页技术#xff0c;其中既可以定义HTML、JS、CSS等静态内容#xff0c;还可以定义Java代码的动态内容
JSP HTML Java
快速入门 注#xff1a;Tomcat中已经有了JSP的jar包#xff0c;因此我们…概念Java Server PagesJava服务端页面
一种动态的网页技术其中既可以定义HTML、JS、CSS等静态内容还可以定义Java代码的动态内容
JSP HTML Java
快速入门 注Tomcat中已经有了JSP的jar包因此我们需要设置JSP坐标中的scope标签为provided即只在编译阶段生效
JSP原理
JSP本质上就是一个Servlet
JSP在被访问时由JSP容器Tomcat将其转换为Java文件Servlet在由JSP容器将其编译最终对外提供服务的其实就是这个字节码文件
其中脚本内的代码为Java代码而脚本外的html的代码都会以out.write调用方法的形式拼接到Java代码中 JSP脚本
JSP脚本用于在JSP页面内定义Java代码
即Java代码需要放在脚本中
JSP的脚本有三种
1.% ... %
% ... %内容会直接放到_jspService()方法之中
即该脚本内放置的为普通的java代码在service方法中会在浏览器被访问的时候执行
2.% ... %
% ... %内容会放到out.print方法中作为out.print的参数
即该脚本的内容会被打印到页面中且一些变量在这里也可以直接打印到页面中可以动态的改变页面内容如每个人页面上显示的用户名会随着账号的不同而不同
3.% ... %
!% ... %内容会放到_jspService方法之外被类直接包含
即该脚本的内容会在方法之外类之内也就是可以放一些成员变量和成员方法
截断式编码
在脚本中代码是可以被截断的
即在两个% ... %之间可以有html的代码
如一个for循环一个脚本中有大部分内容另一个脚本中只有一个右大括号中间有html代码这是成立的
如图最终tomcat编译成的java文件 JSP缺点 由于在JSP中同时要写Java代码和heml会导致书写及其麻烦因此采用同时使用servlet和JSP的方式 EL表达式
Expression Language 表达式语言用于简化JSP页面内的Java代码
主要功能获取数据
语法
${expression}
如
${brands}获取域中存储的key为brands的数据 JavaWeb中的四大域对象
1.page当前页面有效
2.request当前请求有效
3.session当前会话有效
4.app当前应用有效 el表达式获取数据会依次从这4个域中寻找 注意事项
1
当前版本中在JSP中 若要使用EL表达式需要在JSP页面顶部设置page中的isELIgnored为false如下
% page contentTypetext/html;charsetUTF-8 languagejava isELIgnoredfalse %
2
在使用EL表达式得到一个对象的属性时可以直接使用对象.属性的形式JSP会自动将属性的首字母大写并在前面加上“get”依次来调用对应的get方法
如${brand.id}到时候会调用brand的getId()方法
JSTL标签
JSP标准标签库Jsp Standarded Tag Library使用标签取代JSP页面上的Java代码 JSTL使用步骤
1.导入坐标 dependencygroupIdjstl/groupIdartifactIdjstl/artifactIdversion1.2/version
/dependency
dependencygroupIdtaglibs/groupIdartifactIdstandard/artifactIdversion1.1.2/version
/dependency
2.在JSP页面上引入JSTL标签库
% taglib prefixc urihttp://java.sun.com/jsp/jstl/core % 注上图中第一个为创建JSP页面时自带的且手动设置了不忽略EL表达式
第二个为需要引入的JSTL标签库
3.使用 c:if
c:if类似于Java中的if语法但没有else的功能
语法
c:if test条件表达式
对应要执行的编码
/c:if
根据条件表达式是否为true来判断是否执行响应编码 且该标签可以与EL表达式配合使用如下
c:if test${status 1}true/c:ifc:if test${status 0}false/c:if
注${}可以理解为Java中 if中的其内部为条件表达式
c:foreach
c:foreach相当于for循环
语法
该标签有两种使用方式分别对应Java中的foreach和普通for循环
foreach
c:forEach items var varStatus
编码
/c:forEach 其中
items被遍历的容器
var遍历产生的临时变量
varStatus遍历状态对象一个会根据循环次数自动生成id的对象
其有两个值一个是index代表从0开始计数。一个是count代表从1开始计数 如图varStatus用“status”表示并且使用status.index则在第一次循环其值为0第二次循环其值为1以此类推若为status.count则第一次循环其值为1依次类推
for
c:forEach begin end step var
编码
/c:forEach 其中
bagin开始数相当于i的初始值
end结束数相当于i的生效范围
step步长即i每次循环变化的值
var遍历产生的临时变量 MVC模式和三层架构
MVC模式
MVC是一种分层开发的模式其中
MModel业务模型处理业务
VView试图界面展示
CController控制器处理请求调用模型和视图 MVC好处
职责单一互不影响
有利于分工协作
有利于组件重用 JavaBean即pojo包下的类
三层架构 MVC模式和三层架构