(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();
- //接受用户名和密码
- 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传递的 用户名
- String u=req.getParameter("uname");
- //得到密码
- 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);
- }
- }