业务逻辑:

1、登陆login.jsp

2、判断登陆是否成功check.jsp

3、登陆成功页面newsDetail.jsp

4、登陆失败转发到login.jsp

代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户登陆页</title>
</head>
<body> <form action="check.jsp" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="text" name="pwd"/></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="text" name="email" /></td>
</tr> <tr>
<td align="right"><input type="checkbox" name="title" value="10001" /></td>
<td>第一个选项</td>
</tr>
<tr>
<td align="right"><input type="checkbox" name="title" value="10002" /></td>
<td>第二个选项</td>
</tr>
<tr>
<td align="right"><input type="checkbox" name="title" value="10004" /></td>
<td>第三个选项</td>
</tr> <tr>
<td align="right"><input type="submit" value="提交" /></td>
</tr>
</table>
</form>
<%
Object obj = request.getAttribute("error");
if(obj!=null){
out.println("info=>>>>>>"+obj.toString());
}
%> </body>
</html>

check.jsp

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head> <body>
<%
//获取表单提写数据
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String username = request.getParameter("username");
String password = request.getParameter("pwd");
String email = request.getParameter("email");
/* 获取checkbox的值*/
String[] titles = request.getParameterValues("title");
String alltitle="";
if(titles!=null && titles.length!=0){
for(int i=0;i<titles.length;i++){
alltitle += titles[i]+"&nbsp";
}
}
//判断登陆是否成功
if(!username.equals("admin")){
request.setAttribute("error", "登陆失败!");
request.getRequestDispatcher("login.jsp").forward(request, response); }else{
//登陆成功,创建session会话,保存登陆状态
session.setAttribute("username", username);
session.setAttribute("password", password);
//session设置过期时间
session.setMaxInactiveInterval(5);
response.sendRedirect("newsDetail.jsp"); } %>
</body>
</html>

newsDetail.jsp

<!--页面的头部-->
<div id="header">
<!--页面顶部-->
<div class="main-top">
<div class="logo"><a href=""><span>新闻大视野</span></a></div>
<div class="login-box">
<%
Object obj=session.getAttribute("username");
Object pwd=session.getAttribute("password");
String username="";
String password="";
if(obj!=null &&pwd!=null){
username = obj.toString();
password = pwd.toString();%>
<label><%="欢迎你,"+username %></label>&nbsp;&nbsp;<a href="logout.jsp">注销</a>
<% }else{%>
<label>用户名</label><input type="text" name="username"/><label>密码</label><input type="text" name="password"/><button>登录</button>
<%}%> </div>

JSP实现数据传递与保存的更多相关文章

  1. struts2之Action与JSP相互数据传递

    package com.loaderman.crm.action; import com.loaderman.crm.entity.User; import com.loaderman.crm.ser ...

  2. JSP实现数据传递(web基础学习笔记三)

    get和post的区别: JSP内置对象: 1)out内置对象:out内置对象是在JSP开发过程中使用得最为频繁的对象,然而其使用起来也是最简单的.out对象用于向客户端浏览器输出数         ...

  3. JSP Servlet SQL 三者之间数据传递

    前言: 最近一直在做WEB开发,现总结一下这一段时间的体会和感触. 切记,web开发重点在于前台数据交互,页面美化而不要太沉溺于底层数据. 浏览器时代来到,向我们召唤出更炫.更简洁.更方便.更大气的网 ...

  4. JSP、servlet、SQL三者之间的数据传递

    JSP.servlet.SQL三者之间的数据传递 博客分类: web开发 JSPservletSQL数据库连接池web开发  前言: 最近一直在做WEB开发,现总结一下这一段时间的体会和感触. 切记, ...

  5. 一、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)

    背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数 ...

  6. [源码]解析 SynchronousQueue 上界,下界.. 数据保存和数据传递. 堵塞队列. 有无频繁await?

     简析SynchronousQueue.LinkedBlockingQueue(两个locker,更快),ArrayBlockingQueue(一个locker,读写都竞争)     三者都是bloc ...

  7. springMVC:将controller中数据传递到jsp页面

    1> 将方法的返回值该为ModelAndView在返回时,将数据存储在ModelAndView对象中如: newModelAndView("/WEBINF/jsp/showData.j ...

  8. intellig idea中jsp或html数据没有自动保存和更换字体

    主题一:保存数据jsp intellig idea是自动保存数据的,看到没有保存 解决方案: 成功解决 主题二:更换字体: 或者快捷键Ctel+Alt+s 成功解决

  9. 22SpringMvc_jsp页面上的数据传递到控制器的说明

    假设有这个一个业务:在jsp页面上写入数据,然后把这个数据传递到后台. 效果如下:

随机推荐

  1. PRML读书会第十章 Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )

    主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:02:04 我们在前面看到,概率推断的核心任务就是计算某分布下的某个函数的期望.或者计算边缘概率分布.条件 ...

  2. C# FTP上传

    public class FtpHelper { public FtpHelper(string p_url, string p_user, string p_password) { if (!p_u ...

  3. 将DBF文件导入Sqlserver数据库

    项目中的问题:用户选择N个dbf文件导入sql2005数据库,由于每年dbf表结构都在变化,所以在sql2005中根本就不存在,需要每年根据dbf的结构自动建表.(文章来自http://blog.cs ...

  4. 深入理解计算机系统(2.8)---浮点数的舍入,Java中的舍入例子以及浮点数运算(重要)

    前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算. 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题 ...

  5. codevs 4543 treap 模板

    type rec=record lc,rc,v,rnd,size,w,fa:longint; end; var n,root,tot,ans,opt,x,i,po:longint; tr:array[ ...

  6. Rootkit Hunter恶意程序查杀

    恶意程序,恶意代码检测 下载:https://pkgs.org/search/rkhunter 安装:rpm -ivh rkunter* Installed: #需要先安装  lsof.x86_64 ...

  7. Android下的数据储存方式

      安卓系统默认提供了一下几种数据储存的方式: Shared Preferences 内部储存 外部储存 SQLite数据库 保存到网络服务器   使用Shared Preferences       ...

  8. [转] 使用Spring MVC构建REST风格WEB应用

    原文地址:http://fancy888.iteye.com/blog/1629120 对于运行在网络上的MIS系统而言,处理数据的是整个系统的主要任务,翻开程序我们可以看到,80%以上的代码都在处理 ...

  9. Java设计模式(七) 模板模式-使用钩子

    1,模板类 package com.pattern.template; public abstract class CaffeineBeverageWithHook { void prepareRec ...

  10. 数据库开发基础 SQL Server 数据库的备份、还原与分离、附加

    认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是 一.在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点 二. ...