通过一周对书本的学习,对jsp有了初步的认识,下面是一些总结。

一.jsp文件结构

   .注释

      html注释:    客户端网页代码可见,可以加入相关表达式      <!--当前时间:<%=new java.util.Date().tostring%> -->  

       隐藏注释:  一般的java类注释而已,不发回客户端  

  .脚本元素

        声明:    <%!xxx %>  声明的变量和函数被编译后形成servlet加载于内存,下次服务器重启才会重新编译

             可以用来制作页面访问人数,或者是访问量较高做成函数并用这种形式

             Date() d = new Date();   

             SimpleDateFormat t1 = new SimpleDateFormat("yyyy年mm月dd日");

             SimpleDateFormat t2 = new SimpleDateFormat("hh时mm分ss秒");

             t1.format(d);  t2.format(d);

       表达式    

             <%= xxx%>   xxx代码变成字符串类型

       一般代码

  .指令元素      <%@    xxxx  %>   编译阶段完成

      include指令    <%@ include="filename"%>  静态包含而已,嵌入是在编译前发生        

       page指令   设置全局属性。  language  import session   autoflush......

       taglib指令  自定义标记....

  .动作元素      执行阶段动态完成

      <jsp:forward>    <jsp:forward page="目标文件">

                      <jsp:param name="xxx" value="xxx"/>

                  </jsp:forward>

        <jsp:include>     <jsp:include="相对路径">     包含文件后原来文件中自包含文件之后的代码不将执行

                       参数传递

                  </jsp:include>

       <jsp:plugin>      用于在浏览器中播放或显示对象

       <jsp:useBean>     

                   与<jsp:getProperty>  <jsp:setProperty>经常搭配,用于访问类中属性

                  一个例子即可:   <jsp:useBean id="Stu" class="com.Student" scope="page[request  session  application]">

                                     id相当于类的对象了

                          <jsp:setProperty name="Stu" property="name" value="xx" [param="name"]/>  

                                    name=id    可以直接给值,也可以从表单传递赋值

                          <jsp:getProperty name="Stu" property="name">

                   

    

  .模板元素           即剩下的html代码

 

        至此对jsp有了一定认识,就是一些语法,很简单,不过要和java相结合才行,所以有了内置对象

 

二.内置对象

 

  .out                             out.print()   clear()    newLine().....还有一些感觉没怎么用过...

      .request                     HttpServletRequest的子类,处理客户端请求。

               getCookies()  返回一个cookie数组;

               【1】setAttrbute(String name,Object  obj);    getAttrbute(String name);    removeAttribute(String name)

               【2】getAttributeNames()  获取request对象所有属性名,返回时一个Enumeration类的实例,可以用来从数据库拿出属性,通过select标签               选择....

               getParameter(String name)  前一个页面name的值;  getParameterNames(),客户端所有传来参数名字;getParameterValues()...

 

               当然还有很多,取端口号,ip,路径,http头文件各种各样的函数多了去了....getHeader()...

  .response      

             HttpservletResponse的子类...主要将处理后的数据发回客户端.对cookie操作很方便

               addCookies(Cookie cookie)

               sendRedirect(String url)....

               与requeset对应,也还有一些乱七八糟的函数,setHeader().....

  .session       主要为了保存用户信息,作用于整个回话期间

              【1】【2】  同样的函数,只是作用范围有差异....

               getId()  获取session对象string类型id

               getServletContext()  获取jsp页面对应的ServletContext对象

               isNew();  invalidate() 撤销

               还可以 设置有效时间,创建时间等....

  .application           

             与session很相似,都是后踢哎保存信息,但是生命周期不同...session对应一个用户,后者对应多个,与服务器一样同时存在...

               javax.servlet.ServletContext()接口对应

               getAttributes(),获取所有application属性值,与request和session不一样的函数,返回一个集合...

               setAttribute()  removeAttribute()....

               getInitParameter(String name)获取name的初始值   getInitParameters()  获取初始值集合

               还有一些函数不赘述...也可以用来统计网站访问量

   .config

              
             
获取servlet初始数据结构,当一个servlet初始化时,容器利用config存放的初始值初始化servlet

    .exception

    .page

              和this差不多,从jsp中获得内置对象....

 

 

      其实到这里jsp也差不多了,后面都是涉及java的了....

  

       

三.servlet   

 

    servlet本质上就是一个java类,只是又一套api及相关的类和接口。主要用来作为后台处理前台请求的,调用service方法进行处理。

    1)手动配置一个servlet步骤  

    2)生命周期

          init()加载servlet时执行,只是一次 ,初始化操作

          调用service(),用doget()或者dopost()进行处理。service()是核心方法。

          destory()    扫尾工作,关闭数据库连接,保存值等

    3)servle api

          HttpServlet类       

                  他是GenericServlet的类一个子类  其中init()和destory()是httpservlet继承的方法。

                  service()

                          public void service(HttpServletRequest req,HttpServletResponse res)  throws Exception....

                          当有一个httpServlet对象被请求时,就会调用service()

                          response.setContentType("text/html;charset=utf-8")

                          PrintWriter out = response.getWriter()

                  destory()

                  ServletConfig  GetServletConig()

          

          GenericServlet类

                  继承他的类必须实现几个方法....

 

          一些接口

                  Servlet   ServletRequest  ServletResponse  ServletContext

      

    4)Servlet监听

          上下文监听   session监听  request监听....

 

    5)servlet和jsp

          后台和前台的差别,servlet输出html代码过于麻所以适合后台事物层处理,而jsp对于网页设计很方便,所以各有所长...

 

 

 

 

         以上内容都是初学jsp涉及的,都是些皮毛,尤其是servlet部分,书上讲的东西不用很      快就会忘记。真正学东西还是在实践当中。                    

 

                           

 

 

 

 

 

 

 

posted on 2013-07-06 14:37  昏鸦  阅读(180)  评论(1)    收藏  举报