(1)首先看一下项目的结构

是在tomcat--webaps下的myWebSites项目

在myWebSites下有仅仅有WEB-INF目录 在WEB-INF目录中有  一下目录(在classes目录下方class类)

当中之需下边三个 类就可以 项目例如以下结构:

(2)Login.java代码

//登陆界面
package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class Login extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){ //业务逻辑
try{
//解决中文乱码
res.setContentType("text/html;charset=gbk"); PrintWriter pw = res.getWriter();
//返回登陆界面
pw.println("<html>");
pw.println("<body>"); pw.println("<h1>用户登录</h1>");
pw.println("<form action=logincl method=post>"); //action的是servlet的url
pw.println("用户名:<input type=text name=username><br/>");
pw.println("密码:<input type=password name=passwd><br/>");
pw.println("<input type=submit value=loing><br/>");
pw.println("<input type=hidden name=sex value=男><br/>"); //hidden类型在页面中不显示
pw.println("</form>"); pw.println("</body>");
pw.println("</html>"); }
catch(Exception ex){
ex.printStackTrace();
}
} public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}

(3)Logincl.java代码

//登陆界面
package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class Logincl extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){ //业务逻辑
try{
//解决中文乱码
//res.setContentType("text/html;charset=gbk");
//PrintWriter pw = res.getWriter(); //接受用户名和password
String u = req.getParameter("username");
String p = req.getParameter("passwd");
//验证
if(u.equals("sp") && p.equals("123"))
{
//将验证成功的信息,写入到session中去
//1.得到session
HttpSession hs = req.getSession(true);
//改动session的存在时间
hs.setMaxInactiveInterval(20000);// 以秒算的
hs.setAttribute("pass","ok"); //设置到session中去 //合法的情况 跳转到Welcome
res.sendRedirect("welcome?uname="+u+"&upass="+p);//这里跳转的仍是servlet的url
}
else
{
//不合法的情况
//跳转
res.sendRedirect("login");//跳转的是要到servlet的url
} }
catch(Exception ex){
ex.printStackTrace();
}
} public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}

(4)Welcome.java代码

//登陆界面
package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class Welcome extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){ //得到session
HttpSession hs = req.getSession(true);
String val = (String)hs.getAttribute("pass");
//推断
if(val == null)
{
try{
//非法登陆
res.sendRedirect("login");
}catch(Exception ex){
ex.printStackTrace();
} } //得到Logincl传递的 username
String u=req.getParameter("uname");
//得到password
String p= req.getParameter("upass");
String sex= req.getParameter("sex");
println(sex);
//业务逻辑 try{
//解决中文乱码
res.setContentType("text/html;charset=gbk"); PrintWriter pw = res.getWriter(); pw.println("hello welcome!"+u+p); }
catch(Exception ex){
ex.printStackTrace();
}
} public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}

须要项目代码的:http://download.csdn.net/detail/u010870518/7843661

Servlet实现Session的更多相关文章

  1. servlet的session为null?

    servlet的session(会话)显示为null,一般是web.xml中配置不对或者在浏览器输入的url不正确造成的. web.xml配置如下: <servlet> <servl ...

  2. Web开发: servlet的session为null?

    servlet的session(会话)显示为null,一般是web.xml中配置不对或者在浏览器输入的url不正确造成的. web.xml配置如下: <servlet> <servl ...

  3. 2016-1-30 Servlet中Session管理(Sesssion追踪)

    Session管理(Sesssion追踪)是Web应用程序开发中非常重要的一个主题.这是因为HTTP是无状态的,在默认情况下,Web服务器不知道一个HTTP请求是来自初次用户,还是来自之前已经访问过的 ...

  4. Servlet/JSP-07 Session应用

    Session应用 一. 避免表单重复提交 1. 表单重复提交的情况 ①在表单提交到一个 Servlet,而 Servlet 又通过请求转发的方式响应了一个 JSP 或者 HTML 页面,此时浏览器地 ...

  5. Servlet/JSP-06 Session

    一. 概述 Session 指客户端(浏览器)与服务器端之间保持状态的解决方案,有时候也用来指这种解决方案的存储结构. 当服务器端程序要为客户端的请求创建一个 Session 时,会首先检查这个请求里 ...

  6. servlet之session添加和移除的两种方式

    Java Session 介绍 一.添加.获取session 1.项目结构 2.jar包 3.web.xml文件 <?xml version="1.0" encoding=& ...

  7. Servlet 利用Session实现不重复登录

    import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.It ...

  8. 玩转web之servlet(六)---session介绍及简单使用(登录验证中保存信息)

    在浏览器与服务器进行交互时,往往需要把涉及到的一些数据保存下来,这时就需要使用cookie或session进行状态管理. 这篇文章先来说说session怎么用,首先在servlet中创建一个sessi ...

  9. Servlet 笔记-Session 跟踪

    HTTP 是一种"无状态"协议,这意味着每次客户端检索网页时,客户端打开一个单独的连接到 Web 服务器,服务器会自动不保留之前客户端请求的任何记录. 但是仍然有以下三种方式来维持 ...

随机推荐

  1. java后台訪问url连接——HttpClients

    java后台訪问url,并传递数据--通过httpclient方式 须要的包,包可能多几个额外的,假设无用或者冲突删除就可以.httpclient是使用的是4.4.1的版本号:http://downl ...

  2. 普通用户登录PLSQL后提示空白OK对话框错误

    问题描述: 1.普通域账号登录域成员服务器后,打开PLSQL正常,输入用户名密码登录后提示一个空白的OK对话框,点确定后又返回到输入用户密码界面. 2.在CMD窗口下调用SQLPLUS登录数据库时报如 ...

  3. IOS 创建App的最佳捷径

    简网App工场   ----------------创建App的最佳捷径

  4. mvc actionresult 判断是否回发?

    if(Request.HttpMethod.Equals("POST", StringComparison.OrdinalIgnoreCase)){POST回发的代码}

  5. POJ 1011 - Sticks DFS+剪枝

    POJ 1011 - Sticks 题意:    一把等长的木段被随机砍成 n 条小木条    已知他们各自的长度,问原来这些木段可能的最小长度是多少 分析:    1. 该长度必能被总长整除    ...

  6. C#设置textboox只能输入数字`

    1.在闪电KeyPress事件中添加 private void textBox_pwmx_fre_KeyPress(object sender, KeyPressEventArgs e) { //如果 ...

  7. (原)torch中显示nn.Sequential()网络的详细情况

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6065526.html 本部分多试几次就可以弄得清每一层具体怎么访问了. step1. 网络定义如下: ...

  8. 转载--eclipse git插件安装

    原文地址:http://yufenfei.iteye.com/blog/1750124/ 一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2 ...

  9. Struts2中的get、set方法作用:

    Struts2中的get.set方法作用: 在Struts2中,客户端和服务器之间的数据传输全部要用到get.set方法:用set方法 ,可以将表单中的值存入Action类.通过Struts2.0标签 ...

  10. ASP转PHP手记

    打算将动易网站管理系统移植到PHP环境中,寻寻觅觅了很多PHP内容管理网站,发现网上有动易转PHPCMS的代码,所以就拿定注意用PHPCMS的在google上找到一转换程序,动手做来还成功了,现将此次 ...