java ee ; j2ee视频教程 - jsp第1讲
作者: 韩顺平
(一)jsp第1讲
1 java EE核心十三种技术介绍
2 java EE程序员修炼成精的法门(卖油翁的故事)
3 jsp版本的用户管理系统演示
4 jsp的概述(基本语法)
5 jsp的运行原理(还是hello.jsp)
6 jsp版的计算器
6.1 jsp中如何使用js(javascript)和css技术..
(二)java EE核心十三种技术介绍
Java ee是一个开发的平台,它包括的技术很多,主要包括十三种技术.
在开发时选择地进行使用,并不是要把所有的技术就去工作。只会几种技术就可以从事javaee的开发,正好比如说中国的十八般武艺,最好是什么都会~
基础是java  servlet  jsp !!!
基础要像大象一样扎实!不要想水中芦苇,没有跟!
(三)java EE程序员修炼成精
十三种技术规范:
1、Jdbc
2、java命名与目录接口(jndi)很少用了
3、企业java Bean (Enterprise Java Bean EJB 3.0 以前的版本也要回!因为之前的开发用之前的版本,现在要维护!)
4、jsp(本课程讲)
5、servlet (之前讲过了)
6、corba(很少用,但日本人喜欢用!)
7、java的事物体系(JTA)/java事务服务(JTS)现在很少用
8、javaMail(要回)和javaBeans激活架构(JAF )
9、java信使服务(JMS)短信那边用
10扩展标记语言(XML很重要!相当有用)
11、Struts + hibernate + Spring (SSH)很重要!
卖油翁的故事:我亦无他唯手熟尔!
原文:
陈康肃公尧咨善射,当世无双 ,公亦以此自矜。尝射于家圃,有卖油翁释担而立,睨之,久而不去。见其发矢十中八九,但微颔之。
  康肃问曰:汝亦知射乎?吾射不亦精乎?翁曰:无他, 但手熟尔。康肃忿然曰:尔安敢轻吾射!”翁曰:以我酌油知之。乃取一葫芦置于地,以钱覆其口,徐以杓酌油沥之,自钱孔入,而钱不湿。因曰:我亦无他, 惟手熟尔。康肃笑而遣之。
此与庄生所谓解牛斫轮者何异?
熟能生巧!
(四)jsp版本的用户管理系统演示
学ASP比学JSP容易,因为ASP入门容易~
只是用jsp技术。
在学习jsp技术过程中,为了让大家能够迅速的入门,我们将servlet版本的用户管理系统 ---------- > 改为jsp版本的用户管理系统,在这个系统中,我们只使用jsp技术来完成(model1模式【什么事模式呢~:
鲁智深(打架乱打)
林冲(打架有套路,所以要学习套路,套路就是模式,)以前编程没有套路就乱打,我们不能乱打要有套路。  MVC :模型(Model),视图(View)和控制Controller)】开发)。

并且在后面可以通过jsp版的用户管理系统的改写,可以非常自然的过渡到mv设计模式,更进一步过渡到mvc设计模式。
开发工具将使用:eclipse+myeclispe
(五)jsp的概述(1)
为什么会出现jsp技术?
Servlet出现得早,servlet很轻大,但是servlet又一个致命的缺点:用servlet做界面十分吃力。。html代码是嵌入到println中打出来的。。。
Sun推出了jsp。。。jsp做界面比servlet好做多了~
Jsp出现不是对servlet的否定而是对servlet的补充,jsp做界面好多了~
Servlet是jsp技术的基础jsp是在servlet的基础上发展出来的。。jsp就是servlet但是servlet的基础上改进的。。
jsp程序员在开发过程中,发现servlet做界面非常不好-一个公式: jsp=html+java片段+jsp标签(语法)+javascript(css)->比较综合jsp功能的强大是因为可以与javabean结合使用(:jsp作前台(界面)javabean作后台(逻辑层))
jsp+javabean的基础上再结合servlet,就会构成mvc的开发模式. Mvc模式是目前软件公司中相当通用的开发模式,这个我们在后面将作为一个重点给大家详细的讲解。
(六) jsp的概述(2)--jsp的基本语法
(1) 指令元素 --用于从jsp发送一个信息到容器,比如设置全局变量,文字编码,引入包等
1.page指令  <%@ page contentType="text/html;charset=gb2312"%>
2.include指令  <%@ include file="filename"%>
3.taglib指令 --这个指令允许在jsp页面使用自定义的标签  <myTag:yourTag num1="123">
(七) jsp的概述(3)--jsp的基本语法
(2) 脚本元素 --在一定程度上可以理解就是java的片段scriplet
1. scriplet     <% java代码 %>
2. 表达式     <%=java表达式%> <%=rs.getString(1)%>
3. declaration 声明
  <%! 变量声明    %>比如:<%! int count=10%>
  <%! 函数声明    %>
  <%! int jisuan(int num){ 
int result=0;
    for(int i=0;i<num;i++){
      result=result+i;
    }
  }
  %>
(八)jsp的概述(4)--jsp的基本语法
(3) 动作元素 --动作元素是使用xml语法写的,是jsp规定的一系列标准动作,
在容器处理jsp时,当容器遇到动作元素时,就执行相应的操作. 【最常用的八大元素,必须掌握!!】
1. <jsp:useBean> //创建一个javabean实例
2. <jsp:setProperty> //给一个javabean实例设置初始值
3. <jsp:param> //给一个jsp设置参数,常常与<jsp:include>结合使用
<jsp:include file="info.jsp">
<jsp:param name="parameter1" value="parameterValue"/>
<jsp:param name="parameter2" value="parameterValue"/>
</jsp:include>
4. <jsp:getProperty>  //取得一个javabean实例的成员变量
    java入门课件
5. <jsp:include> //引入另外一个文件
6. <jsp:plugin> //使用插件
7. <jsp:forward> //转发
8. <jsp:fallback> //
(九)jsp的概述(5)--jsp的九大内置对象【是jsp的核心,必须掌握!】
(1) out //向客户端输出数据,字节流
out.println("");
(2) request serlvet中的 HttpServletRequest//接受客户端的http请求
getParameter(String name); //name表示表单的参数名
getParameterValues(String name);//使用得到是String []
setAttribute(String name,Object obj);//设置名字为name的obj, 值为obj
getAttribute(String name);//返回由name指定的属性值,如果不存在就返回null;
getCookie();
(3) response//封装jsp的产生的回应
addCookie(Cookie cookie);
sendRedirect("./welcome.jsp");
(4) session //用于保存用户的信息,跟踪用户的行为
setAttribute(String name,Object obj);
getAttribute(String name);
(5) application//多个用户共享该对象,可以做计数器. 
(6) pageContext//代表jsp页面的上下文
(7) exception//代表运行时的一个异常.
getMessage();
(8) page//代表jsp这个实例本身(使用比较少)
(9) config//代表jsp对应的servlet的配置.可以得到l中的参数
(十)jsp运行原理示意图
url:统一资源定位
实例就是类对象。。
jsp的运行原理
这个原理必须记住很重要的:::如果是第一次访问,jsp文件被服务器翻译成对应的java文件(servlet)然后在被编译成。Class文件并加载到内存中。。所以第一次访问速度比较慢,但是第二次访问时速度就会很快了
(十一)jsp的运行原理
我们常说,jsp技术是基于servlet的,为什么这样讲,我们通过一个jsp的小案例来说明:
写一个hello.jsp ,该hello.jsp完成的任务非常简单:就是一个当访问该jsp文件的时候,在浏览器中显示hello,世界你好!该案例主要用于讲解jsp的运行原理
jsp与servlet的关系:Jsp和serlvet是对应关系Jsp是以servlet为基础的
见图(一个简单的示意图
(十二)jsp版的计算器(1)
前面写的hello.jsp,主要是为了说明jsp的运行原理,非常的简单。
现在我们一起来完成一个稍微综合的案例---jsp版本的计算器,从而加深对jsp的认识,为下一步学习做准备。
先用两个页面来完该计算器: interface.jsp(界面) result.jsp(计算)
知识点:
1. 如何接收jsp页面提交的数据,并处理
  2. jsp中如何使用java片段
  3. jsp中如何使用javascript完成对数据合法性的校验
(十三)jsp版的计算器(2)
先前用两个页面来完该计算器: interface.jsp(界面) result.jsp(计算)现在,我们将两个页面合并成一个jsp页面,也就是计算和显示结果在interface.jsp全部完成!
知识点: 1. 进一步理解jsp.
  2. 进一步理解request,response对象
  简单的示意图
Hello.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<html>
<body>
<h1>jsp1</h1>
<%
    //\<\%\%\>中写的就是java片段
    int a =0 ;
    int b = 9 ;
    int c =a + b;
    out.println("hello jsp!!" + c);
%>
</body>
</html>
myCal.jsp文件
<%@ page contentType="text/html;charset=gb2312" %>
<html>
    <h1>我的计算器!</h1>
    <head>
       
        <script language="javascript">
       
        <!--
       
            //写一个函数验证用户是否空提交!
            function checkNum()
            {
                //判断num1是否为空
                if(form1.num1.value=="")
                {
                    window.alert("num1 不能为空!");
                    return false;
                }
               
                //判断num1是否是一个数.
                und(form1.num1.value) !=form1.num1.value)
                {
                    window.alert("num1 不是一个数!!");
                    return false;
                }
                if(form1.num2.value=="")
                {
                    window.alert("num2 不能为空!");
                    return false;
                }
               
                //判断num2是否是一个数.
                und(form1.num2.value) !=form1.num2.value)
                {
                    window.alert("num2 不是一个数!!");
                    return false;
                }
            }
        -->
       
       
        </script>
    </head>
    <body>
        <form  name="form1" action="myResult.jsp" method="post">
        <hr>
            请输入第一个数:<input type="text" name ="num1"><br>
           
            <select name="flag">
            <option value=+>+</option>
            <option value=->-</option>
            <option value=*>*</option>
            <option value=/>/</option>
            </select>
            <br>
            请输入第二个数:<input type="text" name ="num2"><br>
            <input type="submit" value="计算" onclick="checkNum()">
        </form>
        <hr>
    </body>
</html>
myResult.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<html>
    <body>
        <%
            //接受第一个,类似于servlet中的HttpServletRequest
            String num1= Parameter("num1");
            //接受第二个
            String num2= Parameter("num2");
            //接受运算符
            String oper =Parameter("flag");
            //计算
            int numi1=Integer.parseInt(num1);
            int numi2=Integer.parseInt(num2);
            int res=0;
            if (oper.equals("+"))
            {
                res =numi1+numi2;
            }
            else if (oper.equals("-"))
            {
                res =numi1-numi2;
            }
            else if (oper.equals("*"))
            {
                res =numi1*numi2;
            }
            else if (oper.equals("/"))
            {
                res =numi1/numi2;
            }
            //输出结果
            out.println("结果是:" + res);
        %>
    </body>
</html>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。