[笔记] 传智播客-javaWeb笔记(5)

第五章 Jsp简介
          Jsp概念:
            1:什么是Jsp
             Jsp(Java Server Page)是一种Java服务器端技术。一个Jsp页面包括三个方面的内容
             Html,JavaScript,Jsp程序片断
           2:如何写Jsp脚本
               把Jsp脚本写在<%      %>里面
                把Js脚本写在<script>代码</script>里面
            3:可见Jsp实际上就是在Html语言中嵌入Jsp脚本
                  4:编写第一个Jsp应用程序
           Jsp的执行过程:
            浏览器--->请求-------->Web服务器---->找到Jsp页面---->编译
                                                                  |
                                                                  |
                                  浏览器<-------响应<------Serverlet     
            从该执行过程不难看出Jsp在最后实际上要变成Serverlet之后才能发给客户端

           Jsp与Servelet的区别:
            1)Jsp是在Serverlet的基础上发展起来的
            2)Serverlet一般用于处理没有界面的业务逻辑,如果处理有界面的程序,就显示比较笨拙
              Serverlet用out.println一句一句的输出Html标记(界面),当整个网页非常多且复杂的时候
              就会有很多的out.println来输出html标记
            3)Jsp很好的解决了这个问题,对于Html标记可以直接书写,只有需要写程序代码时才以
              <%     %>的方式加入
            4)Jsp把界面部分与代码部分分离,这样可以在开发网站时实现分工。美工只管界面部分,而
              程序员只管代码部分
                                                         
            Jsp的语法:
              A)Jsp的输出:out.println用来输出
                 1)输出字符串:out.println("字符串")
                 2)输出Java脚本:out.println("<script>alert('我是真的爱你');</script>");
                 3)输出Html标记:out.println("<a href=http://www.sina.com>新浪网</a>");
                    链接到QQ对话ut.println("<a target=blank href=http://wpa.qq.com/msgrd?v=1&uin=16663755&site=walmart&menu=yes>留言</a>");
             B)表达式。<%=Java表达式%>。表达式后面不要加分号
                 例如:<%=Math.max(100,90)%>,<%=3+4*5%>等
             C)Scriptlet:
                Scriptlet就是在<%.....%>里面嵌入Java代码。它在形式上与表达式的区别就是在
                <%...%>里面没有"=",而且中间是一段Java代码,不是表达式,每条语句要以分号
                结尾。举例说明
             D)声明:<% ! Java变量,方法 %>
                1):声明变量:  <%! int a=3,b=4 %> 
                               
                2)声明类:
                       <%!
    public class stud
     {
            public String GetId()
          {
                                                   return "W1";
                                                 }
                                 }
                        %>     
                3)声明函数:                         
                    <%!
    public  int sum(int a,int b)
    {
            return a+b;
                        }
                    %>
             说明:
              1)声明变量即可以在<%!     %>只能够声明,不能实现
                比如:<%! int a=3,b=4,c; c=a+b;%>错误<%! int a=3,b=4,int c=a+b;%>正确
              2)声明变量既可以<%! %>中声明,也可以在<%中声明%>。
                 <%! %>中声明的变量:servlet(Jsp最终要转换成Serverlet)的实例变量。
                 根据Servlet的原理,所以的客户端只共享一个Serlvet的实例,所以在此处定义的
                 变量可以其它的页面来共享,也就是具备有继承性
                 <%   %>中声明的变量:是局部变量,只能够给本页面使用,不具备继承性
                         <%!
      int i=0; //实例变量,有继承性
   %>
   <%
                  i++;
                             out.println(i);
                         %>
                         与的区别
                           <%
                             int i=0; //局部变量,无继承性
                  i++;
                             out.println(i);
                         %>
              3)但是声明函数与类只能够在<%! %>中声明,而不能在<%  %>
              4)一般声明变量都在<% %>中声明,而声明函数与类都在<%!中声明%>
              5)为了代码的可读性一般都把类用一个单独的Java文件来保存,而不会在一个
                 Jsp页面中去定义

          E)Jsp指令:
             1)Jsp指令控制对整个页面的处理。
             2)Page指令:
                 1:导入Java包,与自定义的类
                   格式:<%@ page import="aspproject.Student,java.util.*"%>
                    说明:自定义的类一定要放在WEB-INF下面的classes下面,不过只要引用了一个类,
                          Jbulider会自动的创建一个classes文件夹,并放入相应的类
                 2:当本页面发生错误时,跳转到错误页面进行处理                    
                    格式:
                         源页面:<
%@page  errorPage="Error.jsp" isErrorPage="false" %>
                         错误页面:<%@ page isErrorPage="true" %> 
                    说明:错误是当出现异常,但是没有捕获时,如果捕获了,则不会发生页面跳转
             3)include指令:
               1:该指令用于把一个Jsp页面包含到另外一个Jsp页面中
               2:格式:<%@ include file="HeadPic.jsp" %>
                 说明:嵌入一个页面是为了重用这个页面,而不必在每一个页面上写一些相同的代码。
                       例如:在很多的Jsp页面中都要在顶部显示同样的图片,这时就不必在每个页面
                       都去包含这些图片,而是单独写一个文件来完成此任务,然后在其它的Jsp页面中
                       利用include包含即可
                   

             作业:
                1)编写一个Java类,用来描述学生。包含学生的学号,姓名,性别。声明三个实例,并加到
                  一个ArraryList,并把结果显示在表格中
                2)编写一个页面,让用户输入两个数和一个操作符,在另外一个页面显示计算的结果
  3)做一个民意调查页面,来调查"在校大学生谈恋爱",好,不好,不好说三个选项
                  一个页面:显示界面用来让用户进行投票,另外一个页面显示投票的结果
   jtds连接Sql server
                4)使用Jsp实现用户登录
                 //**************************************************************************                        
    Class.forName("net.sourceforge.jtds.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://chen:1433;DatabaseName=jsp", "sa", "");
         java.sql.PreparedStatement ps = conn.prepareStatement(Sql);
         java.sql.ResultSet rs = ps.executeQuery();
                //******************************************************************************
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值