servlet2:重定向,请求转发,servlet获取参数等

servlet2:重定向,请求转发,servlet获取参数等

package cam.xuedao.servlet;

import java.io.IOException;
import java.util.Enumeration;
import java.util.Map;
import java.util.Map.Entry;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cam.xuedao.pojo.User;


public class DeptServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 * getParameter:根据参数名获取
	 * getParameterNames:获取参数名,返回迭代器
	 * getParameterValues:获取复选框的值
	 * getParameterMap:将所有数据封装到一个MAP集合中
	 */
	protected void doGet1(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.getParameter("name");
		Enumeration<String> names =  request.getParameterNames();
		while(names.hasMoreElements()) {
			String name = names.nextElement();
			System.out.println(name);
		}
		System.out.println(request.getParameterValues("like"));
		 Map<String, String[]> map =  request.getParameterMap();
		 for (Entry<String, String[]> entry : map.entrySet()) {
			String name = entry.getKey();
			String[] values = entry.getValue();
			System.out.println(name + ":");
			for (String str : values) {
				System.out.println(str + "");
			}
		}
	}
	
	
	/**
	 * 跳转:
	 * 		请求转发request完成
	 * 			/:表示项目根路径
	 * 			请求地址栏不会变化
	 * 			不能访问外网,只能访问此项目里的地址
	 * 			request里的数据可以共享
	 * 			一次请求一次响应
	 * 		重定向response完成
	 * 			/:表示服务器根路径
	 * 			请求地址栏变成了跳转之后的地址
	 * 			可以访问外网
	 * 			数据不能共享
	 * 			两次请求两次响应
	 */
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		//获取路径
		String path0 = request.getContextPath();//获取当前项目路径
		
		String path1 = request.getServletPath();//获取当前servlet路径
		
		String path2 = request.getServletContext().getRealPath("aa");//在本地服务器下创建了一个文件夹aa并获取到aa的路径
		
		//数据验证   根据用户名查询用户信息
		if("123".equals(username) && "123".equals(password)) {
			//请求转发  localhost:8080/day01_servlet/index.html
			request.getRequestDispatcher("/error.html").forward(request, response);
	
		}else {
			//重定向  localhost:8080/html/login.html
			response.sendRedirect("login.html");
		
		}
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		doGet(request, response);
	}

}

<form action="dept" method="post">
		用户名:<input type= "text" name = "username"><br>
		密   码:<input type = "password" name = "password"><br>
		<input type = "submit">
	</form>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值