韩顺平servlet笔记(完整代码) - 图文 下载本文

if(pageNow!=pageCount)

pw.println(\下一页\ //在servlet中显示图片

pw.println(\ pw.println(\ }

catch (Exception ex){ ex.printStackTrace(); } }

public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res); } }

第一次登陆后cookie中就存有用户名和密码信息,点了两周内不重复登陆就可以直接登陆welcome界面了,不会因为不合法而被阻止登陆。

Session用于防止直接用welcome登陆,cookie在客户端存信息,让你可以直接登welcome 在此我整理一下之前写得所有内容:

Welcome Login LoginCl Html写出登陆界面, 包括密码,用户名, 提交按钮,两周内 不在重复登陆的选 则。 信息提交 接受密码用户名,与数据库内相比较,保存session,cookie(选中) 合法跳转welcome,不合法跳转回Login 先判断是否有session,若没有,查询其cookie,若有cookie,将cookie内容送LoginCl去比较用户密码是否正确,若,没有cookie,则跳回Login。 删除cookie

import javax.servlet.http.*; import java.io.*;

public class Cookie3 extends HttpServlet{

public void doGet(HttpServletRequest req,HttpServletResponse res){ try {

res.setContentType(\ PrintWriter pw=res.getWriter();

Cookie[] allCookies=req.getCookies(); int i=0;

if(allCookies!=null) {

for(i=0;i

temp.setMaxAge(0); //为正数表示cookie保存时间,为0表示删除cookie,为负数

表示不保存cookie

pw.println(\ break; } } } else {

pw.println(\ } }

catch (Exception ex) { ex.printStackTrace(); } } }

九、网站框架

1号线:将rs中的每条记录,封装成一个UserBean对象ub 2号线:将封装成一个UserBean对象ub放入arrayList集合中 3号线:从ArrayList取出ub来使用

Login

/**

* @(#)Login.java * *

* @author

* @version 1.00 2017/2/10 */

//登陆界面

package com.tsinghua; import javax.servlet.http.*; import java.io.*;

public class Login extends HttpServlet{

//处理get请求

public void doGet(HttpServletRequest req,HttpServletResponse res){ //业务逻辑 try { //中文乱码解决方法 res.setContentType(\

PrintWriter pw = res.getWriter();

//返回登陆界面 pw.println(\ pw.println(\

pw.println(\登陆界面\

pw.println(\

pw.println(\用户名:
\ pw.println(\密码:
\

pw.println(\两周内不在重新登录
\ pw.println(\ pw.println(\ pw.println(\ pw.println(\ }

catch (Exception ex){ ex.printStackTrace(); } }

public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res); } }

LoginCl

/**

* @(#)Login.java * *

* @author

* @version 1.00 2017/2/10 */

//验证(登陆处理) package com.tsinghua; import javax.servlet.http.*; import java.io.*; import java.sql.*;

public class LoginCl extends HttpServlet{

//处理get请求

public void doGet(HttpServletRequest req,HttpServletResponse res){

//业务逻辑

Connection ct=null;

PreparedStatement ps=null; ResultSet rs=null; try { //接受用户名和密码 String u=req.getParameter(\ String p=req.getParameter(\ //调用userBeanCl UserBeanCl ubc=new UserBeanCl(); if(ubc.checkUser(u,p)){ //合法 String keep=req.getParameter(\ if(keep!=null){ //将用户名和密码保存在客户端(cookie) //创建cookie Cookie name=new Cookie(\ Cookie pass=new Cookie(\ //设置时间 name.setMaxAge(14*24*3600); pass.setMaxAge(14*24*3600); //回写到客户端 res.addCookie(name); res.addCookie(pass); }

//将验证成功的信息,写入session //1表示得到session

HttpSession hs=req.getSession(true); //修改session 的存在时间,设为20秒 hs.setMaxInactiveInterval(20); //把信息放session

hs.setAttribute(\ //跳转(welcome)

res.sendRedirect(\ }else{ //说明用户不存在 //跳转 res.sendRedirect(\ } }

catch (Exception ex){ ex.printStackTrace(); }finally{ try{ if(rs!=null){ rs.close(); } if(ps!=null){ ps.close(); } if(ct!=null){ ct.close(); } }

catch(Exception ex){ ex.printStackTrace(); } } }

public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res); } }

Welcome