一、JavaBean
1、什么是JavaBean?,JavaBean,又叫Java豆,就是一种按约定格式编写的类。
Person{
String name,int age,boolean vip
setName,getName,setVip         = setter
setAge,getAge,getVip(isVip)    = getter
}
就是一种约定格式
set,get,is
boolean型的,get可以替换为is
2、一个JavaBean的案例
属性userName,vip,password,realName,telephone,address,zip,email
3、一个带索引的JavaBean
二、动作元素
1、<jsp:useBean> 是一个jsp的动作元素,它的作用是创建一个对象
<jsp:useBean id="u" class="javastudy.UserInfo">
</jsp:useBean>
类似于: UserInof u=new UserInfo();
 //u.userName=getParameter("userName")
a.案例:
做一个用户注册页面,提交到一个新页面,
使用动作元素<jsp:UseBean> 和<jsp:setProperty>去接收页面提交的数据。
并通过<jsp:getPropery>来显示数据
Tomcat中对于post方法提交的表单采用的默认编码为ISO-8859-1(<form method="post">)
对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的ISO-8859-1编码。(request.setCharacterEncoding("UTF-8");)
b.案例修改程序,将数据提交到本页面显示
2、<jsp:setProperty>的语法
a.<jsp:setProperty name="对象名" property="*"/>
  用提交上来的同名参数填充对象的同名属性。(相当于批处理)
b.<jsp:setProperty name="对象名"  property="?" param="?"/>
  用提交上来的由param指定的参数的值填充property指定的属性的值(一条一条的传递)
c.<jsp:setProperty name="对象名"  property="?"/>
  用提交上来的由property指定的参数填充由property指定的属性的值(是第一种方法的单个传递用法,仍需保持同名)
d.<jsp:setProperty name="对象名"  property="?" value="?"/> 用value指定的值来替换property指定的属性的值(有啥用呢??)
3、<jsp:getProperty>用法
if(request.getParameter("userName")==null) 
4、<jsp:include> 

作用:将另外一个网页包含到本网页中来。 

  指令(Page,taglib, 
include) 

a.执行时间上:(可以检查生成的类文件发现) 

    <%@ include file=""%> 是在翻译阶段执行 

    jsp在运行前,会被翻译成一个Java类(servlet),在翻译的时候,会把include指令所申明的文件内容包含进来。 

    和这个jsp的内容形成一个整体。运行时,就不会再运行被包含的文件。叫做静态包含(整个文件的内容都被复制过来了)。 

     <jsp:include page="" flush="true" /> 在请求(运行)处理阶段执行,把运行结果包含进来。主文件中只是说明了要把那个文件的运行结果包含进来,只指定了文件名。 

   C:\workspace\.metadata 

b.引入内容的不同: 

    <%@ include file=""%> 

    在JSP页面被转化成servlet之前和它融合到一起. 

    <jsp:include page="" flush="true" />引入执行页面或servlet所生成的应答文本. 

5.<jsp:param>  传递参数 
main.jsp:将footer.jsp页面包含进来,同时又将firm作为参数传给了footer.jsp;
所以显示乱码时应该用request.setCharacterEncoding("utf-8");而不是request.getChaeacterEncoding("utf-8")<body>
<%request.setCharacterEncoding("utf-8"); %>
<h1 align="center">这是主页面</h1>
<jsp:include page="footer.jsp">
<jsp:param value="北京甲骨文科技有限公司" name="firm"/>
</jsp:include>
</body>footer.jsp: 

<body>
<hr><br>
<p>版权所有<%=request.getParameter("firm") %>2000-2014</p>
</body> 

6.<jsp:forward> 

 跳转页面
表单中action为空或者不写,表示表单提交给本页面。
<form action="" method="post"></form>遇到的一个问题:加注释的话不能写在forward里面,那样会报错,而应该这样:
<!--只能用相对地址(和本网页在一块的地址)-->
<jsp:forward page="hello.jsp">
<jsp:param value="<%=request.getParameter(\"uname\") %>" name="a"/>
</jsp:forward>