javaweb从入门到精通实战——JSP内置对象(request、response、 session、 application)案例练习

  • 通过上一篇文章JSP内置对象 https://blog.csdn.net/weixin_44989801/article/details/112132063的学习,我们了解了request、response、 session、 application等内置对象以及相关的使用方法,接下来,我们用几个小案例来练习使用以上内置对象及内置对象的相关方法。

练习1 实现用户的登录功能(request.getParameter()和request.setAttribute()方法的使用)

  • 功能描述: 实现用户的简单登录功能,用户通过用户名和密码登录登录,验证成功后,跳转到相应的界面,如果用户名或密码不正确,则返回用户名或密码错误的提示词,要求用户重新输入用户名或密码。例如,只有用户名为,user 密码为123456 的用户才能登陆成功!
  • 登录分析: 用户在登录界面输入用户名和密码,在检查界面判定用户名或密码是否正确,也就是说,需要在检查界面接收登录界面用户输入的用户名和密码,才能够与正确的账号密码相对比,正确则跳转到成功后的界面,失败则返回相应信息到登录界面。
  • 登录界面源码 login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




login


<%
	/* 使用error1和error接收request.setAttribute 方法保存的内容   
			此功能是用来接收检查界面判定用户名或密码为空或者不正确后返回的内容(String 类型)
			从而实现,用户登录失败后的相应提示。
	*/
	String error1 = (String)request.getAttribute("error1");
	String error = (String)request.getAttribute("error");
%>

用户登录


/* action 的值指跳转到哪个界面,这里用userinfo.jsp界面作为检查界面*/
用户名:
密码:
/* 输出错误信息,但同时也判定该error 和error1的值是否为空,如果为空,则不显示,不为空,则显示相应信息,这样 写是为了避免在第一次访问页面时,输出null(第一次访问界面时,error的值是为null的) 。 */ <%=error1==null?"":error1 %> <%=error==null?"":error %>
  • 登录界面源码 userinfo.jsp
 <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


<%!
		/*首先设定指定的用户名和密码,只有与该方法的用户名密码一致,才能登陆成功!*/
		boolean ValidateUser(String name,String pwd){
			if(name.equals("user")&& pwd.equals("123456"))
			return true ;
			else return false ;
	}
%>
<%
	/*使用request.getParameter("uname");方法获取用户输入的值,此处的uname 与input输入框的name属性的值一致,否则无法成功接收到用户输入的值!*/
	String name = request.getParameter("uname");
	String pwd = request.getParameter("upwd");
	String error = "";
	String error1 =""; 
	/*使用equals("")方法判定用户是否没有输入值,如果没有输入,则提示,不能为空*/
	if(name.equals("")|| pwd.equals("")){
		error1 = "用户名或密码不能为空";
		request.setAttribute("error1", error1);
		request.getRequestDispatcher("login.jsp").forward(request, response);
	}
		/*使用equals("")方法判定用户是否输入正确结果,如果不正确,则提示,用户名密码不正确!*/
	else if(!ValidateUser(name,pwd)){
		error = "用户名或密码不正确";
		request.setAttribute("error", error);
		request.getRequestDispatcher("login.jsp").forward(request, response);
	}else {
		/*成功则进入下一界面*/
		out.print("欢迎光临山外书店!");
	}
%>


  • 运行结果如下

  • 1.用户名或密码不正确

javaweb从入门到精通实战——JSP内置对象(request、response、 session、 application)案例练习_第1张图片

  • 2.用户名或密码为空
    javaweb从入门到精通实战——JSP内置对象(request、response、 session、 application)案例练习_第2张图片
  • 用户名密码正确,成功进入
    javaweb从入门到精通实战——JSP内置对象(request、response、 session、 application)案例练习_第3张图片

练习2 实现一个猜随机数的小游戏(session方法)

  • 功能描述: 通过系统自动生成随机数,用户猜测该随机数的值,系统会根据用户输入的大小提示用户是猜大了还是猜小了,用户根据系统提示信息重新进行猜测,最终,系统会记录用户一共猜测了几次猜到了正确结果,并给出该随机数的值。

  • 案例分析: 通过功能描述,我们发现,第一个界面是说明游戏规则,让用户输入猜测的值,第二个界面是检查页面,检查用户的值是猜大了还是猜小了,并给出提示信息,然后用户根据信息提示,再次进行猜测,最后一个界面是猜测成功后的界面,打印猜测成功并给出猜测次数的信息。

  • 猜随机数的小游戏源码index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


<%
	/* 获取随机数并保存在session对象中,(session对象可以在所有界面中进行获取)*/
	int n = (int)(Math.random()*100)+1;
	session.setAttribute("sn",String.valueOf(n));
	session.setAttribute("count","0");
%>
	

猜数字游戏

随机分给你一个1-100之间的数,请猜!

  • 猜随机数的小游戏源码result.jsp(判定页面)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




head


<%
	int number = Integer.parseInt(request.getParameter("number"));
	int n = Integer.parseInt((String)session.getAttribute("sn"));
	int count = Integer.parseInt((String)session.getAttribute("count"));
	count++;
	session.setAttribute("count",String.valueOf(count));
	out.print("我输入的是:"+number);
	out.print("随机数是:"+n);
	String url ;
	if(number>n){
		response.sendRedirect("bigger.jsp");
	}else if(number


  • 猜随机数的小游戏源码bigger.jsp(猜大了界面)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




bigger.jsp


	

你猜大了,小一点试一试!


随机分给你一个1-100之间的数,请猜!

  • 猜随机数的小游戏源码smaller.jsp(猜小了也页面)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




smaller.jsp


	

你猜小了,大一点试一试!


随机分给你一个1-100之间的数,请猜!

  • 猜随机数的小游戏源码successful.jsp(成功页面)
 <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




successful.jsp


恭喜你!猜对了!

<% /*获取session对象保存的值*/ int n = Integer.parseInt((String)session.getAttribute("sn")); int count = Integer.parseInt((String)session.getAttribute("count")); %>

该随机数是:<%=n %>

次数是:<%=count %>

  • 运行结果如下

  • 1.首页
    javaweb从入门到精通实战——JSP内置对象(request、response、 session、 application)案例练习_第4张图片

  • 2.猜测过程
    javaweb从入门到精通实战——JSP内置对象(request、response、 session、 application)案例练习_第5张图片
    javaweb从入门到精通实战——JSP内置对象(request、response、 session、 application)案例练习_第6张图片

  • 2.成功页面

javaweb从入门到精通实战——JSP内置对象(request、response、 session、 application)案例练习_第7张图片

  • 通过以上案例,我们使用了request的常用方法和session的常用方法来完成相关案例练习,希望对大家有所帮助。

你可能感兴趣的:(javaweb从入门到精通,java,session,web,eclipse)