笔记111-120

来源:互联网 发布:好的打工软件 编辑:程序博客网 时间:2024/05/17 01:12
111 jsp开发模式和web计算器案例

BigDecimal类型用于进行高精度的货币相关运算,使用该类型不会出现精度误差
例:BigDecimal a=new BigDecimal("1.22");
BigDecimal b=new BigDecimal("1");
a.add(b);
当使用除法时需要对除法保留位数进行设置
例:a.divide(b, 5, BigDecimal.ROUND_DOWN)



112 mvc开发模式

ie发送请求给servlet,servlet会调用service进行处理,service则会调用dao从数据中取出数据将其封装入javabean中。service处理完数据后重新将数据封装回javabean并将其返回给servlet,servlet再将数据发给jsp。由jsp负责显示数据给ie。

其中servlet和jsp统称为web层,service和javabean称为业务逻辑层,dao称为数据访问层,层与层之间通过接口通讯。并且分开接口的定义与实现。而开发时,jsp需要阻止其所受到直接访问。所以网站的jsp一般都放在WEB-INF目录下。



113 el表达式与jstl快速入门

EL表达式用于获取数据,在jsp页面中使用${}的形式,调用pageContext.findAttribute()方法从四个域中找出相应标签的字符串,若不存在标识符,则返回结果为""。
当封装的为一个javabean对象时,使用${person.name}形式输出
当需要访问链表的某项javabean时,使用${list[0].name}形式输出。
访问哈希表时,使用${map.bb.name}或${map["bb"].name}的形式输出,其中map为域中的属性名,bb为map表中的键值名,name为属性名。map对应键名不应出现数字。

el表达式不会受双引号影响

jstl为一套标签库,需要导入jstl和standerd两个jar文件并使用<%@tablib uri="" prefix=""%>导入。导入时不能使用普通java工程导入外部包的方式,而是将需要的jar包直接放到WEB-INF的lib目录下
例:<c:foreach var="" items="">
<c:if test="">
META-INF文件夹专门用于存放描述相关标签的文件

jstl使用示例:
<c:forEach var="entry" items="$(map)">
    ${entry.key};${entry.value.name};<br/>
</c:forEach>
<c:if test="${user}!=null">
    ~~~~~
</c:if>
<c:out value=""/>可以在里面填入el表达式
<c:set value="" var="" scope=""/> <c:set value="" target="" property=""/>可以在任意域或者javabean内存入值,也可以将其中的值加入标签内
<c:remove var="name"/>用于删除某个变量
<c:if>标签的value内一般存放需要进行条件判断的el表达式,var属性则可以保存test属性判断完后的结果,如果判断成功则执行其标签体
<c:choose><c:when><c:otherwise>联合使用,相当于java中的switch语句
<c:forEach>用于遍历集合对象
<c:forToken>用于jsp中的字符串处理,其中,items属性用于存放需要遍历的字符串,delims属性可以去掉指定的分隔符,var为循环中使用的临时变量。如果在字符串中没有找到指定的分隔符,则把整个字符串做为一个对象传入。state属性存入了循环的一些特征量
<c:import>用于引用指定的uri数据,var可以保存引入的string格式。根目录为应用程序根目录。一般需要用<c:catch>包括在内
<c:redirect>重定向,根目录为应用程序根目录。可以使用<c:param>传入参数



120 标签简介和开发第一个标签

自定义标签主要用于移除jsp页面中的java代码
request.getRemoteAddr()可以获取来访者的ip

自定义标签需要继承Tag接口或TagSupport类并重写下列相关方法,其中Tag接口需要重写setPageContext方法来获得pagecontext对象
doEndTag() doStartTag() getParent() setPageContext() release()

重写其中方法就可以在解析相关标签时执行相关方法。如果在方法中需要使用相关隐式对象可以使用this.pageContext获得,获得时需要强制类型转换
描述标签时,在WEB-INF下新建tld文件,格式:xml.taglib.tag.。tld文件中必须绑定uri以便于调用

tag标签内name属性描述标签名称,tag-class指定处理类,body-content是否自闭合标签,之后需要将其绑定到某uri上,即在taglib下的前几个标签
在jsp中导入<%taglib url="" perfix=""%>即可使用
0 0
原创粉丝点击