jsp的组成: jsp = html + java脚本 + jsp标签(指令)
延边朝鲜族网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
jsp中无需创建即可使用的对象一共有9个,被称之为9大内置对象。例如:request对象、out对象
3种java脚本:
%...%:java代码片段
%=...%:java表达式
%!...%:声明,用来创建类的成员变量和成员方法
jsp其实是一种特殊的Servlet,在html中通过java脚本就可以嵌入java代码,输出一些内容。
jsp文件中存在一些java代码是在所难免的,不然也不用使用jsp了,纯html就好了嘛,但对于题目中的“一部分”是指多少并未可知,如果太多确实会有影响的,所以一般不建议这样做,影响大致如下所列:
1、根据MVC思想,JSP属于VIEW层,不宜存在太多java的代码,view层应该只有布局、样式相关的代码,jsp中包含太多java代码就和MVC思想有出入了。
2、可读性差,大多公司中,JSP是有专业的前台人员进行维护的,但这些前台人员,只需要具备HTML、JS、CSS、JQUERY等前端技术,一般都不懂得Java代码,在jsp中写太多java代码,会使可读性变差,不便于前台人员维护。
3、不便于维护。把多数java代码写在jsp页面中,而更多的代码还是在后台的java文件中的,这样在开发过程中就需要多个文件一起看,出了问题也要一起修改,这要造成了维护代码的负担。
4、不易于调试。其实更确切的说是不能调试。jsp文件中是无法加断点的,这样写出的代码如果存在问题却编译通过的话,想找起来会相当麻烦。
也正因为会有上述所说的这些影响,但开发者又有时需要在jsp中输入java代码,所以才有jstl、el表达式等技术出现可以在jsp页面替换掉那些复杂的java代码。
jsp中写java代码成为scriptlet,写在%%之间就可以了。
Scriptlet是包含在%和%之间的Java代码,在Web容器处理JSP页面时执行,通常会产生输出,并将输出发送到客户的输出流里。Scriptlet除了不能定义类和方法、不能用import引入类外,可以包含任何有效的Java代码。(Java类在Jsp外部定义,可用page指令的import属性引入,也可以Java Bean的形式使用。Java中的方法必须在类内定义,但Jsp允许使用声明定义方法。窗体(GUI)设计代码在Jsp中无效)。
Scriptlet例程:
%@ page contentType="text/html; charset=gb2312" %
html
head
titleJSP基本语法/title
/head
body
h1Scriptlet示例页面/h1
table border="1"
caption乘法口诀表/caption
%-- 在网页中嵌入Java代码的主要方法 --%
%
for(int i=1; i=9; i++) {
int j=1;
//out是JSP的一个内部对象,print方法用于向客户端输出数据
out.println("tr");
for(; j=i; j++) {
out.print("td" + j + "*" + i + "=" + j*i + "/td");
}
for(;j=9;j++) {
out.print("td /td");
}
out.println("/tr");
}
%
/table
/body
/html
%! %是在service方法的外面定义变量和写入语句的,也就是在servlet中定义变量,而我们知道servlet在被container加载后只生成一个对象而已,然后所有的请求都在service方法里面被处理。所以如果你在servlet中定义了变量,那么所有的请求可以共用这一个变量了。
最简单的应用就是,你要计算有多少人访问了这一个JSP页面,那么就可以把变量i定义在servlet中,然后在JSP文件里面加一句i++;,这样就可以统计有多少人访问了你这个页面了。
至于% %这个嘛,就是在service方法里啦。