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

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; Statement sm=null; ResultSet rs=null; try { //接受用户名和密码 String u=req.getParameter(\ String p=req.getParameter(\ //链接数据库,加载驱动 Class.forName(\ //得到链接 ct=DriverManager.getConnection(\/xcdb?useUnicode=true&characterEncoding=gbk\ //创建Statement sm=ct.createStatement(); rs=sm.executeQuery(\ if(rs.next()){ //说明用户存在 String dbPassword=rs.getString(1); if(dbPassword.equals(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(\ } }else{ //说明用户不存在 //跳转 res.sendRedirect(\ } }

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

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

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

Welcome

/**

* @(#)Welcome.java * *

* @author

* @version 1.00 2017/2/10 */

//欢迎界面

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

public class Welcome extends HttpServlet{

//处理get请求

public void doGet(HttpServletRequest req,HttpServletResponse res){

//业务逻辑

Connection ct=null;

PreparedStatement ps=null; ResultSet rs=null;

//业务逻辑 try { //得到session

HttpSession hs=req.getSession(true); String val=(String)hs.getAttribute(\ String name=\ String passwd=\

//判断是否非法登陆 if(val==null){ try{ //如果session中没有用户信息,再看看cookie中有没有用户信息 //从客户端得到所有cookie信息 Cookie[] allCookies=req.getCookies(); int i=0; //如果allCookie不为空 if(allCookies!=null){ //从中取出cookie for(i=0;i

String un=req.getParameter(\ //得到从LoginCl中传递的密码

String up=req.getParameter(\ //输出weclcome //中文乱码解决方法 res.setContentType(\ PrintWriter pw=res.getWriter(); pw.println(\

pw.println(\ //===========分页============= int pageSize=3;//一页显示多少记录 int pageNow=1;//希望显示第几页,即页码 int rowCount=0;//共有几条记录(查表) int pageCount=0;//共有几页(计算出来的) int start=0;//开始第几条 //动态接受pageNow String sPageNow=req.getParameter(\ if (sPageNow==null){ //用户第一次进入wel }else{ pageNow=Integer.parseInt(sPageNow); } //首先得到rowCount //链接数据库,加载驱动 Class.forName(\ //得到链接 ct=DriverManager.getConnection(\/xcdb?useUnicode=true&characterEncoding=gbk\ ps=ct.prepareStatement(\ rs=ps.executeQuery(); if(rs.next()){ rowCount=rs.getInt(1); } //计算pageCount if(rowCount%pageSize==0){ pageCount=rowCount/pageSize; }else{ pageCount=rowCount/pageSize+1; }

// ps=ct.prepareStatement(\ start=(pageNow-1)*pageSize;

ps=ct.prepareStatement(\ rs=ps.executeQuery(); pw.println(\ //表头 pw.println(\ pw.println(\ while(rs.next()){ pw.println(\ pw.println(\ pw.println(\ pw.println(\ pw.println(\ pw.println(\ pw.println(\ } pw.println(\ //显示上一页 if(pageNow!=1)

pw.println(\上一页\ //显示超链接() for(int i=1;i<=pageCount;i++){ pw.println(\ } //显示下一页