2021-10-21Servlet 和 JSP基础

**

Java EE 基础-- Servlet 和 JSP

**
login.html文件

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>登录系统</title>
</head>
<body>
    <form action="s2">
    姓名:<input type="text" name="name">
    <button>登录</button>
    </form>
    </br>

    <form action="s3">
    姓名:<input type="text" name="name">
    密码:<input type="password" name="psw">
    <button>登录</button>
    </form>
</body>
</html>

@WebServlet("/s2")注解必须要有

package com.example.servlet02;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/s2")
public class Servlet02 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //防止乱码
        req.setCharacterEncoding("utf-8");
        //请求参数名
        System.out.println(req.getParameter("name"));
    }
}

//请求转发到首页
req.getRequestDispatcher(“index.jsp”).forward(req, resp);

package com.example.servlet02;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  请求转发
 *      服务器的一种跳转方式
 *      格式:
 *          req.getRequestDispatcher("路经").forward(req,resp)
 *      特点:
 *          1.地址栏不发生改变
 *          2.服务端行为
 *          3.请求转发只有一个请求
 *          4.request对象可以共享
 *
 */
@WebServlet("/s3")
public class Servlet03 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        //接收参数
        String name = req.getParameter("name");
        String psw = req.getParameter("psw");
        //打印输出
        System.out.println("姓名 " + name + " 密码 " + psw);

        //请求转发到首页
        req.getRequestDispatcher("index.jsp").forward(req, resp);



    }
}

index.jsp

<%@ page import="java.util.List" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>

<%--    <h1><%= "Hello World!" %>--%>
<%--    </h1>--%>
<%--    <br/>--%>
<%--    <a href="hello-servlet">Hello Servlet</a>--%>

<%-- 可以通过java脚本段, 在jsp页面写Java代码。jsp是动态页面   --%>
    <%
        String name = request.getParameter("name");
        String psw = request.getParameter("psw");
        out.print(name);
    %>
    <h1>欢迎登录</h1>

    <%
        //获取req作用域
        String userName = (String) request.getAttribute("useName");

        //浏览器打印
        out.print("姓名:" + userName);

        //获取集合
        List<String> list = (List<String>) request.getAttribute("list");
        out.print(list.get(0));
    %>

</body>
</html>

request作用域

package com.example.servlet02;

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

/**
 *    request作用域
 *       在一次请求转发中有效,只在请求转发中有效
 *          设置作用域:
 *              request.setAttribute(参数名,参数值)
 *          获取作用域:
 *              request.getAttribute(参数名)
 *          移除作用域:
 *  *           request.removeAttribute(参数名)
 *  *
 *
 *
 */
@WebServlet("/s4")
public class Servlet04 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        System.out.println("Servlet04............");
        String name = "张三";
        String psw = "123456";
        //集合
        List<String> list = new ArrayList<>();
        list.add("pdd");
        list.add("taobao");

        req.setAttribute("useName", name);
        req.setAttribute("password", psw);
        req.setAttribute("list", list);

        //请求转发到首页
        req.getRequestDispatcher("index.jsp").forward(req, resp);

    }
}

req.setAttribute(“useName”, name);
设置作用域: request.setAttribute(参数名,参数值)
获取作用域: request.getAttribute(参数名),不需要参数值
移除作用域:request.removeAttribute(参数名)
创建String类型的集合: List list = new ArrayList<>();

这是我刚刚学习和理解,希望能一起探讨!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值