jsp常用标签

举报
执久呀 发表于 2022/07/25 21:41:33 2022/07/25
【摘要】 ​ jsp常用标签静态包含web下创建一个include目录,里面分别写main.jsp和footer.jspfooter.jsp下<html><head> <meta charset="utf-8"/> <title>Insert title here</title></head><body>页脚信息</body></html> main.jsp下</head><body>首页...

 jsp常用标签

静态包含

web下创建一个include目录,里面分别写main.jsp和footer.jsp

footer.jsp下

<html>
<head>

    <meta charset="utf-8"/>
    <title>Insert title here</title>
</head>
<body>
页脚信息

</body>
</html>

 main.jsp下

</head>
<body>
首页<br>
主体<br>
<%--
    include file="" 就是静态包含
    file属性指定你要包含的页面路径
    地址中的第一个斜杆 /   表示http://ip:port/工程路径/ 映射到idea为web
--%>
    <%@include file="/include/footer.jsp" %>
</body>
</html>

编辑

include file=" " 就是静态包含

file属性指定你要包含的页面路径

地址中的第一个斜杆 / 表示http://ip:port/工程路径/ ,映射到idea中为web目录

  修改footer.jsp内容

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>

<html>
<head>

    <meta charset="utf-8"/>
    <title>Insert title here</title>
</head>
<body>
页脚信息
修改后,主页显示
</body>
</html>


编辑


动态包含

格式:

<jsp:include page="/include/footer.jsp"></jsp:include>

动态包含也可以和静态包含一样

动态包含的特点:

1、动态包含会把包含的jsp页面也翻译成java代码

2、动态包含底层代码使用如下代码去调用被包含的jsp页面执行输出。

JspRuntimeLibrary.include(request,response,"/include/footer.jsp",out,false);

请求转发

格式:

<jsp:forward page=" "></jsp:forward>
<!--page属性设置请求转发的路径-->

jsp练习

练习1

打印九九乘法表

<html>
<head>
</head>
<body >

<h1 >九九乘法表</h1>

   <%
    for(int i=1;i<10;i++){
        for(int j=1;j<=i;j++){
    %>

        <%=j+"*"+i+"="+(i*j)%>

      <%
       }
        %>

    <br/>

   <%
    }
   %>

</body>
</html>

编辑

练习2 

 存储学生信息并打印

pojo包下的student类

package pojo;

public class Student {
private String name;
private int  id;
private int age;

    public Student(String name, int id, int age) {
        this.name = name;
        this.id = id;
        this.age = age;
    }

    public Student() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", id=" + id +
                ", age=" + age +
                '}';
    }
}

text1.jsp下

<%@ page import="java.util.List" %>
<%@ page import="pojo.Student" %>
<%@ page import="java.util.ArrayList" %>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>

<html>
<head>
   
    <meta charset="utf-8"/>
    <title>Insert title here</title>
<%--    设置样式<style></style>--%>
    <style>
        table{
            border: 1px black solid;
            width: 300px;
        }
        td,tr{
            border: 1px black solid;
            width: 300px;
        }
    </style>
</head>
<body>
<%
    List<Student> list=new ArrayList<>();
    for (int i=1;i<=10;i++){
      list.add(new Student("name"+i,i,10+i));
    }
%>
<table>
<%for (Student student:list){%>
<%--    tr是一行,td为一列--%>
<tr>
    <td><%=student.getName()%></td>
    <td><%=student.getId()%></td>
    <td><%=student.getAge()%></td>
</tr>

  <% } %>
</table>
</body>
</html>

编辑

请求转发使用说明

流程图:

编辑

 SearchStudentServlet类下

package com.Servlet;

import pojo.Student;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class SearchStudentServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取请求参数
        //发sql语句查询学生信息
        //使用for循环生成查询到的数据做模拟
        List<Student> list=new ArrayList<>();
        for (int i=1;i<=10;i++){
            list.add(new Student("name"+i,i,10+i));
        }
        //保存查询到的数据到Request域中
        req.setAttribute("stuList", list);
        //请求转发到之外的showStudent.jsp中
        req.getRequestDispatcher("/showStudent.jsp").forward(req, resp);

    }
}

web.xml下:

   <servlet>
       <servlet-name>SearchStudentServlet</servlet-name>
       <servlet-class>com.Servlet.SearchStudentServlet</servlet-class>
   </servlet>
    <servlet-mapping>
        <servlet-name>SearchStudentServlet</servlet-name>
        <url-pattern>/searchStudentServlet</url-pattern>
    </servlet-mapping>


showStudent.jsp下

<%@ page import="java.util.List" %>
<%@ page import="pojo.Student" %>
<%@ page import="java.util.ArrayList" %>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>

<html>
<head>

    <meta charset="utf-8"/>
    <title>Insert title here</title>
<%--    设置样式<style></style>--%>
    <style>
        table{
            border: 1px black solid;
            width: 300px;
        }
        td,tr{
            border: 1px black solid;
            width: 300px;
        }
    </style>
</head>
<body>
<%
    List<Student> list= (List<Student>) request.getAttribute("stuList");

%>
<table>
<%for (Student student:list){%>
<%--    tr是一行,td为一列--%>
<tr>
    <td><%=student.getName()%></td>
    <td><%=student.getId()%></td>
    <td><%=student.getAge()%></td>
</tr>

  <% } %>
</table>
</body>
</html>

 运行结果:


编辑

 Listener监听器


 1、Listener监听器他是JavaWeb的三大组件之一。javaweb的三大组件分别是servlet程序、filter过滤器、Listenter监听器。

2、Listenter他是javaEE的规范,规范就是接口

3、监听器的作用是,监听某种事务的变化,然后通过回调函数,反馈给客户或程序去做一些相应的处理。

ServletContextListenter监听器

ServletContextListener他可以监听ServletContext对象的创建和销毁。

ServletContext对象在web工程启动的时候,在web工程停止的时候销毁。

ServletContextListener监听器监听ServletContext对象的步骤

1、编写一个类去实现ServletContextListener

2、实现器两个回调方法

3、到web.xml中去配置监听器

创建类和实线两个方法

package com.Listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class MyServletContextListenerImpl implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        System.out.println("Servlet对象被创建了");
    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        System.out.println("Servlet对象被销毁了");

    }
}

web.xml中配置

<listener>
        <listener-class>com.Listener.MyServletContextListenerImpl</listener-class>
    </listener>

编辑


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。