zoukankan      html  css  js  c++  java
  • JSP

    #Jsp的作用和servlet相似,也是拼接网页的

    #Jsp注释

    1.<!-- 注释内容 -->

    如果包含Java代码,这些Java代码会被执行

    2.<%-- 注释内容 --%>

    Jsp特有的注释,如果注释中有Java代码,会被忽略

    #jsp中的java代码,包含以下三种:

    --jsp表达式:<%= %>

    --jsp小脚本:<% %>

    --jsp声明:<%! %>

    >控制页面可变内容

    #jsp页面中的指令

    ##page指令

    -作用:用于导包、设置页面属性

    clip_image002

    ##include指令

    -作用:引用jsp

    clip_image004

    clip_image002[1]clip_image004[1]

    ## taglib指令

      引入标签库

      例:

    <%@ page pageEncoding="utf-8"%>
    <%
    @ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

    #jsp运行原理

    clip_image006

    结论:Jsp本质上就是servlet

    #Jsp翻译的过程

    clip_image008

    #jsp中的隐含(内置)对象:9个

    -request(*): HttpServletRequest

    -response: HttpServletRequest

    -out: JSPWriter类似于PrintWriter

    -config: ServletConfig

    -application: ServletContext

    -exception: Throwable jsp翻译成的Servlet所抛出的异常

    -session(*): HttpSession

    -page: Object 相当于this,指代翻译成的那个Servlet

    -pageContext(*): PageContext 是管理者,通过它可以获取其他8个隐含对象

    #如何在jsp上使用隐含对象

    - <%Object user = session.getAttribute(“user”);%>

    - <%=session.getAttribute(“user”)%>

    clip_image010

    clip_image012

    #模式

    clip_image014

    -引用了MVC设计模式对代码分层,降低代码的耦合度

    #MVC

    经典的设计模式,是代码的分层思想:

    M:Model,业务层,用来处理业务

    V:View,视图层,用来展现数据

    C:Controller,控制层,用来进行调度,是业务层和视图层的桥梁。

    --其目的是将代码解耦,便于开发及维护

    model2:

    QQ截图20190226122512

    package web;
    
    import java.io.IOException;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import dao.EmpDao;
    import dao.EmpDaoImp;
    import entity.Emp;
    
    public class FindEmpServlet extends HttpServlet {
    
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
            //处理业务
            EmpDao dao = new EmpDaoImp();
            List<Emp> list = dao.findAll();
            //转发:让jsp继续完成这个请求
            //1.将数据绑定到request上
            req.setAttribute("emps", list);
            System.out.println(req);
            //2.将请求提交给jsp,让它继续处理,同时将处理请求的工具交给jsp:request+response
            //当前:/jsp2/findEmp
            //目标:/jsp2/emp_list.jsp
            req.getRequestDispatcher("emp_list.jsp").forward(req, res);
        }
    
    }
    <%@ page contentType="text/html" pageEncoding="utf-8" 
        import="entity.*,java.util.*"
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>查询</title>
    </head>
    <body>
        <table border = "1" cellspacing = "0" width = "40%">
            <tr>
                <td>编号</td>
                <td>姓名</td>
                <td>职位</td>
                <td>月薪</td>
            </tr>
            <%
                List<Emp> list = (List<Emp>)request.getAttribute("emps");
                if(list != null){
                    for(Emp emp:list){
            %>
            <tr>
                <td><%=emp.getEmpno() %></td>
                <td><%=emp.getEname() %></td>
                <td><%=emp.getJob() %></td>
                <td><%=emp.getSal() %></td>
            </tr>
            <%
                    }
                }
            %>
        </table>
    </body>
    </html>
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
      <display-name>jsp2</display-name>
      
      <servlet>
          <servlet-name>findEmp</servlet-name>
          <servlet-class>web.FindEmpServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>findEmp</servlet-name>
          <url-pattern>/findEmp</url-pattern>
      </servlet-mapping>
    </web-app>

    --此处使用到了转发的概念

    ##转发和重定向的异同点:

    相同:都是解决web组件之间的跳转问题;web组件:Servlet/jsp

    不同(区别)

      -有依赖关系是用转发

      -没有依赖时,用重定向

    QQ截图20190226122512

    QQ截图20190226122512

      --一般情况下:-查询时用转发;增删改后重定向到查询

  • 相关阅读:
    New version of VS2005 extensions for SharePoint 3.0
    QuickPart : 用户控件包装器 for SharePoint Server 2007
    随想
    发布 SharePoint Server 2007 Starter Page
    如何在SharePoint Server中整合其他应用系统?
    Office SharePoint Server 2007 中文180天评估版到货!
    RMS 1.0 SP2
    SharePoint Server 2007 Web内容管理中的几个关键概念
    如何为已存在的SharePoint站点启用SSL
    Some update information about Office 2007
  • 原文地址:https://www.cnblogs.com/menbozg/p/10436152.html
Copyright © 2011-2022 走看看