jsp基础
参考:
初学JSP(JSP基础) - CSDN博客
http://blog.csdn.net/hy_butter/article/details/60476696
本文章是作者刚学JSP后的一个总结,刚接触JSP的朋友可以来看看,大神可以帮忙提出一下错误!
一、JSP是什么?
JSP是动态网页开发技术,也就是说网页里的数据不再是死的,与数据库会互动数据。
JSP的代码是以在HTML中镶嵌java的代码,HTML生成静态内容,java生成动态内容。
JSP中的HTML代码称为模版元素,java代码称为JSP脚本片段。
二、JSP中的java代码
1、java代码写在<% %>中间:
如 <% //java代码 %>
2、java中的方法必须写在<%! %>中间:
如 <%! //java方法 %>
3、java中的声明变量可以在上述两种方法里定义;
如 <% int a=10;%> 或 <%! int b=5; %>
4、将一个java变量或表达式的计算结果用<%= %> 输出到页面:
如 <%=(a-b)%>注:也就是说只能是值
三、JSP注释
1、HTML注释:<!-- 注释内容 -->
2、JSP注释:<%-- 注释内容 --%>
注:它们有一个区别,HTML注释内容在网页中查看源代码时可以看见,而JSP注释内容看不见,且JSP注释可能会阻止java代码的执行。
四、JSP异常跳转错误页面
这个就是在你的JSP出现错误时(如:int a=1/0;),如何让网页跳转到你设置好的提示页面;
<%@ page errorPage="error.jsp(提示界面)" %>
五、JSP内置对象(隐含对象)
1、out:
这个很简单用,记住把他当做java代码,即写在写java的地方,其中一个实用的方法:
out.print();直接把内容打印到页面上
2、request 转发和 response 重定向:
这两个一起讲下,打个比方,将网页比作人:
A要打电话给C,但是他不知道C的号码,只知道B的号码。
第一种:A打给B,正好B与C在一起,于是B将电话给C听;
第二种:A打给B,B把C的号码给了A,A再打给C;
第一种只打了一次,第二种打了两次。我们把ABC看成网页;
request:A用<form>表单提交到B(B可以用request.getparameter("表单标签的name值"),获取提交的值)
C与B恰在一个web项目中,B直接用request.getRequestDispather("C路径").forward(request,response)
转发到C,但地址栏还是B的地址;
response:A用<form>表单提交到B,B用response.sendRedirect("C路径") 告诉A C的路径,A再跳转到C页面;
附加:request.setAttribute(name,value)将value保存在request中,可在下一个网页中使用另一个方法提取,
request.getAttribute(name)得到上个网页保存在request里的值;
六、JSP内置对象之四大域对象
本章讲解JSP的四大域对象:pageContext、request、session、application;
它们都有这样的两个方法:
1、setAttribute("属性名","属性值");
2、getAttribute("属性名");--->返回 属性值
这两个方法就好比:1、int 变量名=变量值; 2、使用变量
也就是说其实就是定义了一个变量;
用法如:request.setAttribute("name","Tom");
一、pageContext:
它是四大域对象中域最小的,及它的get只能获取本页中set设置的属性;
在A.jsp中设置的属性,只能在A.jsp中使用。
二、request:
它的作用域比上一个多了一个,及它还可以在转发页面中使用;
在A.jsp中设置的属性,在A中使用:
request.getRequestDispatcher("B.jsp").forward(request, response);
转发到B.jsp,则A中属性可在A、B中使用;
三、session:
它就厉害了哈,只要你打开的浏览器没有关闭,则在此段时间内所有的页面都可访问它的属性;
即session是一个全局变量,它的值可被任何一个网页访问和修改,它上面的属性由你打开浏览器开始到
关闭浏览器结束;
也就是说session里的属性,你可在任何网页中设置和调用,只要部关闭浏览器,则属性就一直在;
四、application:
它不用说也知道肯定最吊,它和上一个查不多,但是只要你的Tomcat服务没有关闭及它的属性一直保存 在那;
七、Javabean
Javabeans 就是符合某种特定的规范的Java类。使用Javabeans的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高代码的维护性。
Javabean设计原则
- Public class Students{
- Private String name;
- Private int age;
- Public Students(){}
- Public void setName(String name){this.name=name;}
- Public String getName()(return this.name;)
- Public void setAge(int age){this.age=age;}
- Public int getAge(){return this.age;}
- }<strong>
- </strong>