发表于: 2017-08-26 23:34:21

2 904


http://59.110.143.127:8080/task-1.0-SNAPSHOT/11

http://59.110.143.127:8080/task-1.0-SNAPSHOT/10

今天完成的事情;

完成了任务四。

收获

1 自己重新写了代码,完成了tiles布局。贴一下代码

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<tiles-definitions>

    <!-- 定义一个基础模板页 -->

    <definition name="cs10" template="/WEB-INF/jsp/cs10.jsp">

        <put-attribute name="cs10_head" value="/WEB-INF/jsp/cs10_head.jsp" />

        <put-attribute name="cs10_body" value="/WEB-INF/jsp/cs10_body.jsp" />

        <put-attribute name="cs10_foot" value="/WEB-INF/jsp/cs10_foot.jsp" />

    </definition>

    <!-- 定义另一个基础模板页 -->

    <definition name="cs11" template="/WEB-INF/jsp/cs11.jsp">

        <put-attribute name="cs11head" value="/WEB-INF/jsp/cs11head.jsp" />

        <put-attribute name="cs11body" value="/WEB-INF/jsp/cs11body.jsp" />

        <put-attribute name="cs11foot" value="/WEB-INF/jsp/cs11foot.jsp" />

    </definition>

</tiles-definitions>

2 用C标签循环了语句

就是用<c:foeach 标签,里面写上循环的语句,然后用item遍历数组,用began和end写循环几次。中间写循环的东西。手机码的字,现在没代码,明天补上。

3.学了一下打tag,成功的吧long型的时间转换程data类型的。

3 将项目发布到服务器上。

遇到的问题,暂无。

明天的计划;

写深度思考,进行任务五

深度思考

什么是jsp:

JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。

JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP被JSP编译器编译成Java Servlets。一个JSP编译器可以把JSP编译成JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。

个人感觉意思就是当Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。


jsp里面有几个对象:

一共九个

1、request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。它是HttpServletRequest的实例。实例:不必直接传送参数到JavaBean,你可以藉由请求对象来取得参数的值: <% String name=request.getParameter("name"); out.println(name); %>。

2、response对象:对客户的请求做出动态的响应,向客户端发送数据。

3、session对象

  (1)、什么是session:session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。  从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。  

    (2)、session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。  

    (3)、session对象存在一定时间过期问题,所以存在session中的名值对会在一定时间后失去,可以通过更改session有效时间来避免这种情况。同时编程时尽量避免将大量有效信息存储在session中,request是一个不错的替代对象。

4、application对象

  (1)、什么是application:  服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。  

    (2)、application对象常用方法:

                A:public void setAttribute(String key,Object obj):将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。  

           B:public Object getAttribute(String key):获取application对象中含有关键字的对象。

5、out对象:是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。在页面中例如:<%out.print("<a href='http://write.blog.csdn.NET/postedit'/>")%>

6、Page对象:就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例。JSP网页本身,page对象是当前JSP页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。

7、config:jav  jsp validator相关的错误

ax.servlet. ServletConfig 的实例,该实例代表该JSP 的配置信息。常用的方法有getInitParameter(String paramNarne)及getInitParameternarnes() 等方法。事实上, JSP页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。很少会在jsp页面中使用这个对象

8、exception:java.lang.Throwable的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page的isErrorPage 属性为true时,该对象才可以使用。常用的方法有getMessage()和printStackTrace()等。

9、 pageContext:javax.servlet.jsp.PageContext的实例,网页的属性是在这里管理,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext()和getServletConfig()等。

  //使用pageContext设置属性,该属性默认在page 范围内  pageContext. setAttribute("page" , "hello") ;

   //使用request设置属性,该属性默认在request 范围内  request. setAttribute ("request" , "hello");

  //使用pageContext将属性设置在request范围中  pageContext.setAttribute("request2" , "hello" , pageContext.REQUEST_SCOPE);

   //使用session将属性设置在session范围中  session.setAttribute("session" , "hello");

   //使用pageContext将属性设置在session范围中  pageContext.setAttribute("session2" , "hello" , pageContext.SESSION_SCOPE);

   //使用application将属性设置在application范围中  application. setAttribute ("app" , "hello") ;

   //使用pageContext将属性设置在application 范围中  pageContext.setAttribute("app2" , "hello" , pageContext.APPLICATION_SCOPE) ;



为什么要使用tiles框架

因为tiles可以实现多个jsp页面共用一个jsp页面的内容。减少代码量,使维护更加容易。



返回列表 返回列表
评论

    分享到