Javaweb总结之JSP动态网页

看到了一篇Java后端路线的博客:https://blog.csdn.net/love20165104027/article/details/81271556
都说java后端学完web之后再看框架如鱼得水,咱也不知道,就先研究研究吧。

JSP简单点可以这样说:

所谓JSP意思就是动态网页,这里的动态可不是动画的意思,而是指一些登录,访问数据库显示等的一些操作。但归根结底还是前端网页的一些操作。
实际上也没什么操作,就是在HTML中嵌套一些Java代码 -.-。

网页的跳转:请求转发和重定向

如果我们现在要完成一个登陆操作,当手指按下 登录 按钮时,可以跳转到另一个网页(这里用到的可不是粗暴超链接,而是带有登录信息的跳转

重定向: 页面跳转重定向、页面地址改变,数据丢失
请求转发: 可以获取数据,地址栏仍然保留转发时的地址
空口无凭,现在打开服务器试一下

源码(部分摘录)
//login.jsp 输入信息
<body>
	<form action="check.jsp" method="post">
		用户名:<input type="text" name="uname"><br/>
		密码:<input type="password" name="upwd"><br/>
		<input type="submit" value="登陆"><br/>
	</form>
</body>
——————————————这是两个文件之间无敌的分界线——————————————————
//check.jsp 核对信息
<body>
	<%
		request.setCharacterEncoding("utf-8");
		String name=request.getParameter("uname");
		String pwd=request.getParameter("upwd");
		if(name.equals("九二六四") && pwd.equals("abc")){
			//页面跳转重定向、页面地址改变,数据丢失
			//response.sendRedirect("success.jsp");
			//请求转发、可以获取数据,地址栏仍然保留转发时的地址
			request.getRequestDispatcher("success.jsp").forward(request, response);
		}else{
			//登陆失败
			out.print("用户名或密码错误");
		}
	%>
</body>
——————————————这是两个文件之间无敌的分界线——————————————————
//success.jsp 登陆成功页
<body>
	登陆成功!<br/>
	欢迎您:
	<%
		String name=request.getParameter("uname");
		out.print(name);
	%>
</body>

我们在浏览器上看到了什么呢?(login页和密码错误页省略)
重定向在这里插入图片描述
请求转发在这里插入图片描述

Cookie令牌的引入

之前写爬虫牵扯到登录时就遇见过cookie,一直不知道是什么,到这才知道是当我们执行登陆操作时,颁发的一个浏览器通行令牌,在令牌消失前再次进入可省略登录。
web中的cookie:是JSP九大内置对象之一,不需要导入直接就可以使用。

源码(带有cookie的部分)

<body>
	<%
		request.setCharacterEncoding("utf-8");
		//请求中捕获信息
		String name=request.getParameter("uname");
		String pwd=request.getParameter("upwd");
		//将用户名放到Cookie中
		Cookie cookie =new Cookie("uname", name);
		//设置生命为10秒
		cookie.setMaxAge(10);
		//响应中添加cookie
		response.addCookie(cookie);
		//带有cookie的响应进行请求转发
		response.sendRedirect("aaa.jsp");
	%>
</body>

session的使用

当我们登录某东、某宝之后,再用某Q浏览器新开一个窗口同样打开某宝,会发现不需要我们再次登录,这种操作就可以使用同样作为内置对象的session去保留本次会话

源码(session部分)

____这是吴迪的标注线____session也有很多方法,就不说了自己查去
<body>
	<%
		request.setCharacterEncoding("utf-8");
		String name=request.getParameter("uname");
		String pwd=request.getParameter("upwd");
		if(name.equals("九二六四") && pwd.equals("abc")){
			//登陆成功
			session.setAttribute("uname", name);
			session.setAttribute("upwd", pwd);
			//session.setMaxInactiveInterval(10); //设置生命时间
			request.getRequestDispatcher("welcome.jsp").forward(request, response);
		}else{
			//登陆失败
			response.sendRedirect("login.jsp");
		}
	%>
</body>

这是最后吴迪的注释

这篇到这无了,下篇研究 JDBC和web访问数据库
广告之后,更加精彩!
前端的不太感兴趣额这里只是学了表面,发现错误,欢迎指正哈(\手动滑稽)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值