跟永哥学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%的人还看了以下文章

  • 快收藏!破解WiFi密码的Python程序源码泄露了

    通过 Python 脚本实现 WIFI 密码的暴力破解,从而实现免费蹭网。 泄露的Python程序源码: import pywifi from pywifi import const import time import datetime # 测试连接,返回链接结果 http://www.125jz.com/ 分享 def wifiConnect(pwd):…

    2023年1月29日
    8.7K0
  • object…object和object[]…object的区别

    object…object public int update(String sql, Object… params) throws SQLException { Connection conn = this.prepareConnection(); return this.update(conn, true, sql, params); }…

    2019年11月19日
    15.6K0
  • python 字典使用实例:创建通信录并完成修改、查找操作

    练习目的:巩固python 字典的创建,合并,修改及使用。 学了python字典后,同学们想创建一个自己的通信录,小明是这么做的: 先根据三位舍友的联系方式创建一个字典dicTXL 然后将隔壁舍长已创建好的字典dicOther合并进自己的通信录 合并之后,小明又打算给通信录增加一列“微信号”,为此他询问了相关同学的微信号并存储在了字典dicWX中,然后合并进…

    2020年1月22日
    21.2K0
  • Ubuntu在线体验(不用安装) 

    Ubuntu是一个以桌面应用为主的Linux操作系统,是非常轻量级的操作系统,全球领先的用于个人电脑、平板及手机的操作系统。 想过要体验下Ubuntu,其实不用那么麻烦,在线就能体验该系统!! 在任意浏览器打开链接https://www.ubuntu.org.cn/tour/zh-CN/ (中文)、https://www.ubuntu.org.cn/tour…

    2022年9月1日
    16.3K0
  • oracle 计算时间差,包含年、月、日、时、分、秒

    在做系统时,如图书管理系统、车辆管理系统、事务管理系统等,经常需要我们计算两个日期相差多少天,图书是否应该归还,事情是否完成等。 今天给大家分享oracle 中如何计算时间差! oracle时间差是以天数为单位,所以换算成年月,日 select floor(to_number(sysdate-to_date(‘2018-11-02 15:55:03’,’yy…

    2018年2月13日
    5.1K0
  • %matplotlib inline使用详解

    #内嵌画图 %matplotlib inline import matplotlib # 注意这个也要import一次 import matplotlib.pyplot as plt myfont = matplotlib.font_manager.FontProperties(fname=r’C:/Windows/Fonts/msyh.ttf’) # 这一…

    2023年1月13日
    3.0K0

发表回复

登录后才能评论