业务逻辑:

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. 教你写一个web远程控制小工具

    惯例先上图 晚上躺床上了,发现忘关电脑了,又不想起来关,来用手机控制电脑多好,百度了下,果然一大把.哈,我自己为什么不自己也实现个呢,任意的自己diy.Just do it. 如果不想看如何实现,那么 ...

  2. nios II--实验4——按键中断硬件部分

    按键中断 硬件开发 新建原理图 1.打开Quartus II 11.0,新建一个工程,File -> New Project Wizard…,忽略Introduction,之间单击 Next&g ...

  3. 中间件(middlebox)

    Middleboxes (also known as network functions) are systems that perform sophisticated and often state ...

  4. Install Sogoupinyin in Ubuntu

    If you use Ubuntu 15.10,search 'sogou' in Software Center.If you can see sogoupinyin there.You can g ...

  5. Hibernate原生SQL映射MySQL的CHAR(n)类型到String时出错

    今天在用Hibernate通过原生SQL和ResultTransformer映射时,出现数据类型不匹配的错误.但是通过Entity映射,没有问题.在网上找了好多答案,终于解决了. 核心代码: Stri ...

  6. android修改系统时区

     动态注册广播接收器必须有实例存在 静态不要实例存在   设置系统时区: AlarmManager mAlarmManager = (AlarmManager)getSystemService(Con ...

  7. VMWare虚拟机提供的桥接、nat和主机模式的区别

    虚拟机网络模式 无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3.Host-Only 哪一种网络是适合自己的虚拟 ...

  8. [转]Servlet 中文乱码问题及解决方案剖析

    原文地址:http://blog.csdn.net/xiazdong/article/details/7217022/ 一.常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过G ...

  9. 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换

    介绍背水一战 Windows 10 之 绑定 DataContextChanged - FrameworkElement 的 DataContext 发生变化时触发的事件 UpdateSourceTr ...

  10. 浅谈jQuery页面的滚动位置scrollTop、scrollLeft

    Web页面常常比显示该页面的浏览器窗口还要大,因为Web文档具有很多内容,往往会导致页面比浏览器还要高,有时候甚至还要宽,这迫使访问者通过滚动来查看整个页面(如图10-8所示).当访问者滚动页面的时候 ...