**
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<>();
这是我刚刚学习和理解,希望能一起探讨!