属性值是一个对象。
有关属性存储的方法有4个,定义在HttpServletRequest接口中。
格式如下。
public void setAttribute(String name,Object obj)
public Object getAttribute(String name)
要类型转换
public void removeAttribute(String name)
public Enumeration getAttributeNames()
-
文本、单选按钮,使用
String data = request.getParameter(String name)
-
复选框、多选框,使用
String[] data = request.getParameterValues(name)
- 请求转发
request.getRequestDispatcher().forward(request,response)
不能转向到本web应用之外的页面和网站,所以转向的速度要快。
- 响应重定向
通过响应对象response的sendRedirect()实现,public void sendRedirect(String location)
。
注:URL可以是绝对URL(如https://www.baidu.com),也可以是相对URL。
- 一个猜数字的小栗子
package com.jsy.learn;
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 javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
// URL为:http://localhost:8080/learnServletAndJSP_war_exploded/GuessNumberServlet 执行
@WebServlet(“/GuessNumberServlet”)
public class GuessNumberServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
int magic = (int)(Math.random()*101);
HttpSession session = request.getSession();
// 浏览器第一次访问,服务器就产生一个 session 会话,产生一个随机数存在session里。
session.setAttribute(“num”,new Integer(magic));
response.setContentType(“text/html;charset=utf-8”);
PrintWriter out &