转发和重定向

/**
* 转发和重定向的区别:
* 1.转发只发送一次请求,重定向发送两次或多次请求
* 2.转发只能跳转站内资源,重定向可以跳转站外资源
* 3.转发地址栏没有变化,重定向有变化
* 4.转发是在服务器完成的,重定向是在口客户端完成的
* 5.转发可以共享同一个request
*/

package servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(“/doReg”)
public class RegisterServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //统一设置请求字符集
    request.setCharacterEncoding("UTF-8");
    //获取请求表单中的单值元素
    String name=request.getParameter("uname");
    String pwd=request.getParameter("upwd");
    String sex=request.getParameter("sex");
    String age=request.getParameter("age");
    String city=request.getParameter("city");
    String comment=request.getParameter("comment");
    //获取请求表单中的多值元素
    String[] habbitArr=request.getParameterValues("habbit");

    System.out.println("RegisterServlet初步处理获取用户名:"+name);
    if(null==name||"".equals(name)){

        //转发到注册失败页面
        //通过request对象获取转发对象(包含指定转发资源)
        RequestDispatcher reqDisp=request.getRequestDispatcher("regError.html");
        //使用reqDisp对象的forward方法进行跳转
        reqDisp.forward(request, response);
    }else {
        name=name+"ABC";
        //使用request作用域存储数据
        request.setAttribute("formatName", name);

        //转发到注册成功页面

// request.getRequestDispatcher(“regSuccess.html”).forward(request, response);
//用户名验证通过,继续验证密码
//request.getRequestDispatcher(“checkpwd”).forward(request, response);
response.sendRedirect(“checkpwd”);
}
}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值