javaEE与JSP基础

 JSP基础

1. jsp的作用:
  * Servlet:
    > 缺点:不适合设置html响应体,需要大量的response.getWriter().print("<html>")
    > 优点:动态资源,可以编程。
  * html:
    > 缺点:html是静态页面,不能包含动态信息
    > 优点:不用为输出html标签而发愁
  * jsp(java server pages):
    > 优点:在原有html的基础上添加java脚本,构成jsp页面。

2. jsp和Servlet的分工:

 
  * JSP:
    > 作为请求发起页面,例如显示表单、超链接。
    > 作为请求结束页面,例如显示数据。
  * Servlet:
    > 作为请求中处理数据的环节。

3. jsp的组成
  * jsp = html + java脚本 + jsp标签(指令)
  * jsp中无需创建即可使用的对象一共有9个,被称之为9大内置对象。例如:request对象、out对象
  * 3种java脚本:
    > <%...%>:java代码片段(常用),用于定义0~N条Java语句!方法内能写什么,它就可以放什么!
    > <%=...%>:java表达式,用于输出(常用),用于输出一条表达式(或变量)的结果。response.getWriter().print( ... );这里能放什么,它就可以放什么!
    > <%!...%>:声明,用来创建类的成员变量和成员方法(基本不用,但容易被考到),类体中可以放什么,它就可以放什么!


    案例:演示jsp中java脚本的使用!

<%int a=10 ;%>
    
    <% out.print(a); %>
    
    <%= a%>
    <%! 
    private String hello = "world";
    public String sayHello() {
      return hello;
    }      
    %>
    <%=sayHello()%>

    案例:演示jsp与servlet分工!

      代码:

from.jsp//提交数据

 

 <form action="/Day11_1//Aservlet" method="post">
      整数1:<input type="text"  name="int1"/>
      整数2:<input type="text"  name="int2" /><br>
      <input type="submit" value="相加" />
  </form>

 

result.jsp//显示结果

 

<body>
    <% Integer a=(Integer)request.getAttribute("result") ;%>
    <%=a%>
  </body>

 

Aservlet//处理数据

 

 1 public void doPost(HttpServletRequest request, HttpServletResponse response)
 2             throws ServletException, IOException {
 3              //获取数据
 4            String  int1=request.getParameter("int1");
 5            String  int2=request.getParameter("int2");
 6            if(int2==null||int1==null){
 7                System.out.println("输入值为空");
 8            }else{
 9                //转换数据为int
10            int i1=Integer.parseInt(int1);
11            int i2=Integer.parseInt(int2);
12            //数据相加
13            int sum=i1+i2;
14            //保存数据
15            request.setAttribute("result", sum);
16            //请求包含
17            request.getRequestDispatcher("/jia/result.jsp").forward(request, response);
18            }
19     }

 4. JSP真身

   

  * JSP也是Servlet
  * JSP会在第一次被请求时编码成.java,再编码成.class文件,它其实就是一个Servlet,在处理请求时执行service()方法。
  查看真身可以得到,jsp中有9个对象可以无需创建即可使用,它们就是jsp九大内置对象。
5. JSP注释
  * <!-- -->,html注释,不是JSP注释,它会出现在JSP的真身中,并发送到客户端,但客户端浏览器不会显示它。
  * <%-- --%>,JSP注释,它不会出现在JSP真身中,也就不可能发送到客户端浏览器了。

posted @ 2017-03-13 14:27  晓梦蝶  阅读(1050)  评论(0编辑  收藏  举报