jsp入门笔记

 

0.准备

在idea上新建一个maven webapp项目,然后在web.xml中添加依赖

      <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>3.1.0</version>
      </dependency>
      <dependency>
          <groupId>jstl</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
      </dependency>
      <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.0</version>
      </dependency>

然后给其配置Tomcat服务器。

1.hello jsp

在webapp下新建一个hello.jsp文件,在其中添加如下代码:

<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>hello</title>
    <meta charset="UTF-8">
</head>
<body>
<h1>
    你好,jsp
</h1>
<%=new Date().toLocaleString()%>
</body>
</html>

2.在jsp页面中写java代码和java表达式

新建一个jspElement.jsp,然后在其中添加如下代码:

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>jsp页面元素</title>
    <meta charset="UTF-8">
</head>
<body>
    <h1>
        jsp表达式
        <br>
        <%="jsp表达式实例"%>
    </h1>
    <%
        List<String> words=new ArrayList<String>();
        words.add("1");
        words.add("2");
        words.add("3");
        words.add("4");
    %>
<table>
    <% for (String word :words){%>
        <tr>
            <td>
                <%=word%>
            </td>
        </tr>
    <%}%>
</table>
</body>
</html>

其中<%%>中间包裹的是java代码,<%=%>中间包裹的是java表达式,<%@%>中间是指令。

3.指令include和动作include

准备一个footer.jsp和footer1.jsp,前者用于验证指令include,后者用于验证动作include。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--footer.jsp--%>
<h1 style="color: red;">
    指令include
    <%=year%>
</h1>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--动作footer1.jsp--%>
<h1>
    动作include
    <%=request.getParameter("year1")%>
</h1>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>jsp页面元素</title>
    <meta charset="UTF-8">
</head>
<body>
    <%
        int year=2022;
    %>
    <%@include file="footer.jsp"%>
<jsp:include page="footer1.jsp">
    <jsp:param name="year1" value="2021"/>
</jsp:include>
</body>
</html>

执行效果:

指令方式的include是生成一个.java文件,所以参数直接访问即可。动作方式传参是生成两个.java,有传参的需要。

4.jsp的客户端跳转和服务端跳转

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>
        跳转
    </h1>
<%
    response.sendRedirect("jump1.jsp");
%>
<%--    <%--%>
<%--        request.getRequestDispatcher("jump2.jsp").forward(request,response);--%>
<%--    %>--%>
<%--<jsp:forward page="jump2.jsp"></jsp:forward>--%>
</body>
</html>

5.cookie

新建一个setcookie.jsp和getcookie.jsp然后在setcookie中设置cookie的各种参数,并在getcookie中去除cookie的各种参数。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>cookie</title>
    <meta charset="UTF-8">
</head>
<body>
    <h1>
        cookie
    </h1>
    <%
        Cookie c=new Cookie("name","green");
        c.setPath("/");
        c.setMaxAge(24*60*60);
        response.addCookie(c);
    %>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>getCookie</title>
</head>
<body>
<%
    Cookie[] cookies=request.getCookies();
    if(cookies!=null){
        for(int i=0;i<cookies.length-1;i++){
            out.print(cookies[i].getName()+":"+cookies[i].getValue()+"<br>");
        }
    }
%>
</body>
</html>

运行效果如下:

setCookie

getCookie

6.session

创建两个jsp,分别是setSession和getSession,在setSession中设置session并跳转到getSession,在getSession中取出session的各种参数。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>session</title>
    <meta charset="UTF-8">
</head>
<body>
<%
    session.setAttribute("name","zhangsan");
%>
<a href="getSession.jsp">
    jsp跳转
</a>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>session</title>
    <meta charset="UTF-8">
</head>
<body>
    <%
        String name=(String) session.getAttribute("name");
    %>
<h1>
    name的值为:<%=name%>
</h1>
</body>
</html>

7.jsp的作用域

pageContext:一个页面
request:一次请求
session:一次会话
application:全局

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值