跟永哥学MVC:Jsp+Servlet+JavaBean开发后台登录程序

《Jsp+Servlet+JavaBean开发后台登录程序》实现方法二

两种实现方法的登录页面(login.html)、模型(JavaBean)、配置(web.xml)完全相同,不同之处在于servlet中是用的重定向还是请求转发。

loginCheck.java(servlet )代码:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String name=request.getParameter("name");
//获取视图里的name   
String pas=request.getParameter("pas");
//获取视图里的password   
login_model newModel=new login_model();//调用模型   
newModel.setName(name);   
newModel.setPas(pas);  
String message;
if(newModel.login())   {   message="登录成功!"; }   
else {  message="登录失败!";  }   
String URL=request.getContextPath()+"/view.jsp?message="+message;
URL=new String(URL.getBytes("UTF-8"),"ISO8859_1"); 
 response.sendRedirect(URL);
}

view.jsp

<%
out.print(new String(request.getParameter("message").getBytes("ISO8859_1"),"UTF-8"));
 %> 

知识点:重定向和转发的区别

request.getRequestDispatcher("new.jsp").forward(request, response); //转发到new.jsp
response.sendRedirect("new.jsp");   //重定向到new.jsp

 

1.当使用转发时,JSP容器将使用一个内部方法来调用目标页面,新的页面继续处理同一个请求,而浏览器不知道这个过程, URL保持不变。

2.重定向方式是第一个页面通知浏览器发送一个新的页面请求,浏览器中所显示的URL会变成新页面的URL。

3.重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/1385.html

(0)
江山如画的头像江山如画管理团队
JSP+MySQL MVC综合案例:完整的分页查询
上一篇 2018年2月22日 上午9:41
跟永哥学JSP:一个案例三种实现,教你理解Jsp、javabean、Servlet(精)
下一篇 2018年2月22日 上午10:36

99%的人还看了以下文章

  • 最全!jsp连接各种数据库代码及读取数据实例

    三、jsp连接DB2数据库 testdb2.jsp如下: <%@ page contentType=”text/html;charset=gb2312″%> <%@ page import=”java.sql.*”%> <html> <body> <%Class.forName(“com.ibm.db2.…

    2020年12月6日
    11.9K0
  • 超清晰!HTML5 实现手机拍照上传功能原理讲解

    这篇文章主要为大家详细介绍如何使用HTML5利用摄像头拍照实现上传功能,原理讲解非常清晰,具有较大的参考价值。 上传页面代码: 上传图片用的HTML5的file文件上传功能<input type=”file” accept=”image/*”> 因为原生file样式不满足要求,在input上面放置我们想要…

    2022年8月11日
    15.1K0
  • 纯JSP实现计算圆的面积和周长

    一个jsp页面由元素和模板数据组成.元素是必须由jsp容器处理的部分.而模板数据是jsp容器不处理的部分,如jsp中的HTML内容 元素有三种类型: 脚本元素,指令元素, 动作元素 脚本元素:包含三个部分:声明,脚本段,表达式 声明:用于声明在其它脚本元素中可以使用的变量和方法 脚本段:是一段java代码 表达式:java语言中完整的表达式 声明 以<…

    2020年4月3日
    24.8K0
  • python 递归函数使用示例,求两个整数的最大公约数(欧几里得算法)

    用于计算两个整数的最大公约数的递归算法称为欧几里得算法,其计算原理依赖于定理: 两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。 公式为:gcd(a,b)=gcd(b, a mod b) 递归函数使用示例, def gcd(a, b): if b == 0: return a else: return gcd(b, a % b) prin…

    2020年1月31日
    11.2K0
  • java Jdbc数据库分页源码详解

    本文用到了jdbc 的游标移动 package com.sp.person.sql.util; import java.sql.*; import java.util.Map; import java.util.TreeMap; import javax.sql.DataSource; /** * JDBC 分页查询 * absolute 与relative…

    2020年2月19日
    6.2K0
  • python 集合的使用,案例详解

    集合的定义: 1.不同元素组成 2.无序 3.集合中的元素必须是不可变类型 创建集合 s = {1,2,3,4,5,6,7,8} >>> set_test = set(‘hello’) >>> set_test {‘h’, ‘l’, ‘e’, ‘o’}  # 由此可见集合中的元素不可重复,都是不同的 集合运算 集合之间也可…

    2020年1月22日
    18.1K0

发表回复

登录后才能评论