JSP的基础语法
JSP语法介绍
包含语句:
<%@include file=”uri”%>
例如:
<%@include file=”hello.jsp”%>
<%@include file=”hello.htm”%>
如果要实现一个网站,而且整个WEB 站点,都需要菜单、页眉、页脚(HTML 代码) 两种实现方法: 1、在所有的JSP 页面中,写上菜单、页眉、页脚(HTML 代码) 400000 个JSP 页面 2、在所有的JSP 页面中,将菜单、页眉、页脚(
HTML 代码)代码包含进来 <%@include file=""%>:可以包含任意文件: ---includeDemo01.jsp *.txt、*.htm、*.jsp、*.inc 包含的是文件的内容 注意:include 语句可以包含任何内容,但是在有一个 JSP 页面中,只能有一组、、 原则:在开发中被包含的文件,只写显示部分的HTML 代码,主体代码不要出现。 包含的时候不区分文件名称后缀,只是将内容包含进来 JSP 中提供了两种包含语句,我个人建议大家使用此种包含语句:
xml:namespace prefix = jsp />
或者:
此种语句,与HTML 代码形式很相似:以后成此种语句叫标签指令形式 与<%@include file=""%>不同,而
---includeDemo02.jsp 标签指令形式的代码,必须完结,运行结果与之前无任何区别 使用此语句可以向被包含的页面之中传递参数, 如果传递参数, 则被包含的页面必须是JSP 页面, 必须是动态页面(如
JSP页面) 。 在JSP 中,接收包含语句参数的方法是:request.getParameter("") ---includeDemo03.jsp 如果被包含的页面是JSP 文件,则自动进行动态处理
如果被包含的页面是其他非动态文件,则只是将内容包含进来
<%@include%>:只是将页面的内容静态的包含进来,如果被包含的页面有JSP 代码,则执行此代 码,而不管被包含的页面文件后缀如何
:如果被包含的文件内容是静态的,则直接将内容包含进来,但是不处理,如果被包 含的页面是动态的,则先执行,再把结果包含进来显示 面试问题:请解释一下JSP 中两种包含语句的区别:
---include.jsp ---includeDemo04.jsp
<%@include%>:所有代码包含进来之后,一起进行处理,把所有代码合在一起
:所有的代码分别处理,处理完成之后再将代码的显示结果(处理结果)包含进来
跳转语句:
或者:
注:跳转时,地址栏没有改变,此跳转属于服务器端跳转 类似于::属于标签指令形式 forward 语句:属于无条件跳转语句 标签指令形式代码,必须写在Scriptlet(<%....%>)之外。 使用此跳转语句,页面的内容是已经跳转了,但是地址栏没有任何变化 如果没有任何变化,意味着:用户的请求依然没有改变 所以此跳转,属于服务器端跳转 实验:使用JSP 基础语法完成用户登陆程序,
具体要求:
JSP 的实例教程:
观察:JSP
登陆实例:登陆代码进阶一
1、程序要求: 完成用户登陆功能。 如果用户输入用户名为“xiaorui” ,密码为“xr” ,则表示用户为合法用户,跳转到登陆成功页, 否则则表示用户名或密码不正确,跳转到登陆失败页。 2、输出页面: 2.1、页面总体流程:
2.2、具体演示: A、登陆首页:
B、登陆成功页:
C、登陆失败页:
分析: 如果完成此功能,则至少需要四个页面: 1、login.jsp 用户输入信息的表单 2、login_conf.jsp ·接收参数 ·判断参数 ·根据参数是否合法进行跳转 3、login_success.jsp ·显示欢迎信息 4、login_failure.jsp
·显示登陆失败信息
·给出一个超级链接,可以使用户重新登陆
此代码有那块是多余的?有那里是存在问题的?
重要的知识点:
1、equals 使用时要当心空指向错误
2、只要使用了服务器端跳转,则请求内容可以再跳转之后的页面继续得到。
3、equals 与“==”的区别
在比较一个字符串内容的时候必须使用“equals”
而在比较字符串地址的时候可以使用“==”