1.javabean
特点:
1.是公共类
2.有无参的构造方法
3.属性都是私有的
4.每个属性都有get和set方法。
2.jsp动作元素:
2.1 useBean
<jsp:useBean id="实例" class="包.类"></jsp:useBean>
实例.get/set
2.2 setProperty
//和表单关联
<jsp:setProperty name="实例" property="*" />
<jsp:setProperty name="实例" property="属性名" />
//手工设置,与表单无关
<jsp:setProperty name="实例" property="属性名" value="值" />
<jsp:setProperty name="实例" property="属性名" param="request对象中的参数名" />
2.3 getProperty
<jsp:getProperty name="实例" property="属性名" />
2.4 scope(javaBean作用域范围)
1.page//仅在当前页面有效
2.request//在当前请求及服务器转发后的请求中有效 HttpRequest.getAttribute()获取JavaBean对象
3.session//在当前会话中有效
使用HttpSession.getAttribute()获取JavaBean对象
4.application//在当前application有效
//使用application.getAttribute()获取JavaBean对象
3.model1
Model1分为三层:
1.界面层:由JSP页面进行与客户端浏览器的交互,可以直接调用JavaBeans
2.业务逻辑层:由JavaBeans进行处理业务逻辑,封装数据,并与数据库层进行交互
3.数据库层:底层数据库,可被javaBeans访问
避免了JSP页面直接进行业务逻辑处理所带来的维护性,扩展性差的弱点.体现了分层设计的思想
4.Jsp状态管理
由于http的无状态性;需要对象来保存浏览器的信息
4.1内置对象session
4.2 cookie:WEB服务器保存在用户客户端的文本信息(登录,购物车)
tips: cookies.getName()得到的字符串不能直接用==与字符串做比较!否则会发现它们俩不相等
方法:void setMaxAge(int);设置有效期
int getMaxAge();获得有效期
void setValue(String Value);对cookie赋值
String getName()
String getValue()
tips:由于保存cookie时默认编码为xxx,所以在未设置编码的情况下输入中文会出现乱码现象。所以外面需要用到特殊的转码工具,在java.net.*包内,URLEncoder以及URLDecoder对象的转码方法。
String username= URLEncoder.encode(request.getParameter("username"),"utf-8");//转码方法
username=URLDecoder.decode(c.getValue(),"utf-8");//解码
与session的区别:
5.JSP指令与动作元素
5.1 include
指令:<%@ include file="url" %>
动作:<jsp:include page(包含页面)="URL" flush(被包含的页面是否从缓冲区读取)="true|false" />
区别:
5.2 forward
动作:<jsp:forward page="URL" />
相当于request.getRequestDispatcher("url").forward(request,response);
5.3 param(传参)
动作:<jsp:param name="" value="" />
常常与forward一起使用,作为其子标签:
<jsp:forward> <jsp:param /></jsp:forward>
6. 在web.xml中设置初始化参数:
1.先在web.xml里加入标签
<init-param />
<param-name />
<param-value />
2.在Init()方法中利用get方法获取设置的参数:
this.setUsername(this.getInitParameter("username"));
7.MVC(model,view,controller),MODEL2
其中,浏览器提交一个请求,发送到控制器(servlet),servlet实例化一个模型,通常是JavaBean类,实现数据库操作,然后返回给servlet,最后servlet将信息传递给视图(JSP),返回到浏览器。