Servlet登陆功能的实现

(1)创建动态的Login页面

//登陆界面
package com.lc;

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("</form>");			

			pw.println("</body>");
			pw.println("</html>");

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

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

(2)创建接受Login的servlet

//登陆界面
package com.lc;

import javax.servlet.http.*;

import java.io.*;

public class Logincl extends HttpServlet{

	public void doGet(HttpServletRequest req,HttpServletResponse res){

		//业务逻辑
		try{
			//解决中文乱码

			//接受用户名和密码
			String u = req.getParameter("username");
			String p = req.getParameter("passwd");
			//验证
			if(u.equals("lc") && p.equals("123"))
			{
				//合法的情况 跳转到Welcome
				res.sendRedirect("welcome");//这里跳转的仍是servlet的url
			}
			else
			{
				//不合法的情况
				//跳转
				res.sendRedirect("login");//跳转的是要到servlet的url
			}

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

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

(3)登陆成功要跳转的welcome页面

//登陆界面
package com.tsinghua;

import javax.servlet.http.*;

import java.io.*;

public class Welcome extends HttpServlet{

	public void doGet(HttpServletRequest req,HttpServletResponse res){

		//业务逻辑
		try{
			//解决中文乱码
			res.setContentType("text/html;charset=gbk");

			PrintWriter pw = res.getWriter();

			pw.println("hello welcome!");

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

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

(4)配置文件web.xml的编写

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

<!--JSP servlet mappings starts-->

  <servlet>
    <servlet-name>Login</servlet-name>
    <servlet-class>com.lc.Login</servlet-class>
  </servlet>
   <servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>/login</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>Logincl</servlet-name>
    <servlet-class>com.<span style="font-family:Arial, Helvetica, sans-serif;">lc</span>.Logincl</servlet-class>
  </servlet>
   <servlet-mapping>
    <servlet-name>Logincl</servlet-name>
    <url-pattern>/logincl</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>Welcome</servlet-name>
    <servlet-class>com.lc.Welcome</servlet-class>
  </servlet>
   <servlet-mapping>
    <servlet-name>Welcome</servlet-name>
    <url-pattern>/welcome</url-pattern>
  </servlet-mapping>

<!--JSP servlet mappings end-->
</web-app>

(5)运行结果:

时间: 2025-01-15 06:50:19

Servlet登陆功能的实现的相关文章

servlet 3.0无需配置web.xml,使用注入方式配置servlet实现登陆功能(服务器需要支持servlet3.0)

首先申明上面的报错红叉,我也不知道怎么回事.总之能运行. 新建项目时选择java EE6.0,低版本没有servlet3.0. 先看一个基本示例. Test.java是用来测试无需配置文件,无需静态页面(jsp,html) 直接访问servlet来从服务器上获取信息. Test.java代码 1 package com.gys; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servl

Servlet实现简单的登陆功能(带验证码)

"纸上得来终觉浅",动手比看书印象更深,学到的更多.下面用Servlet实现简单的登陆功能,来巩固对Servlet的学习. 1.在WEB-INF下新建一个名为index.html作为登陆界面. index.html代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title>

教你用Java安全有效的实现两星期内自动登陆功能-Session

现在很多网站都有为用户保存登陆信息(即保存Cookie)的功能,当用户下一次进入网站时,可以帮助用户自动登陆,使网站显得更加友好.笔者通过研究ACEGI项目的自动登陆源码,编写了一个安全有效的实现两星期自动登陆功能的JAVA工具类,.下面是具体的实现流程和实现代码. 先说一下流程: 1.保存用户信息阶段: 当用户登陆网站时,在登陆页面填写完用户名和密码后,如果用户在提交时还选择了"两星期内自动登陆"复选框,那么在后台程序中验证用户名和密码全都正确后,还要为用户保存这些信息,以便用户下一

Struts2环境配置和登陆功能的实现

最近在学习SSH框架,通过用struts实现一个简单的登陆功能,来学习struts相关知识,着重了解了struts的配置. 1.在Eclipse下创建StrutsDemo项目,并将struts2所必须的jar包导入lib目录下. 主要有如下7个jar包:commons-fileupload.commons-io.freemarker.javassiat.ognl.struts2-core.xwork. 2.在src目录下建立一个struts.xml文件用于配置struts. struts.xml

用函数实现登陆功能(三次机会),然后在主函数中根据调用后的结果判断 登陆成功与否。

/*3.用函数实现登陆功能(三次机会),然后在主函数中根据调用后的结果判断登陆成功与否.*/#include <string.h>int numb(char use[] ,char password[] ){ if((strcmp(use,"zhouyi")==0)&&(strcmp(password,"nb")==0)) { return 1; } else { return 0; } } #include <stdio.h>

讲诉从酒店服务业到IT行业的心酸取经路,另附拙作 ASP.net(C#)利用SQL Server实现注册和登陆功能

楼主本人姓周,名XX,老家是曾国藩故居的,说起来和古人也算是邻里邻居. 92年出生,去年大专毕业,到现在毕业快要一年了,大学里学的专业是酒店管理,我们对外宣称为"第三产业"呵呵.到这里你们可能会心生疑问,咦,大学里怎么会有"酒店专业",你怎么会选它?说到这,楼主不得不提起一个人,那就是我的堂姐,楼主填志愿那年,人小不懂事,根本不知道如何去选择自己的专业,家里人就更不懂了,所以填志愿的事都在我这个堂姐手里做的主,填的那个学校是湖南长沙的,三年大专制,因为我这个表姐本人

JAVAEE——struts2_04:自定义拦截器、struts2标签、登陆功能和校验登陆拦截器的实现

一.自定义拦截器 1.架构 2.拦截器创建 //拦截器:第一种创建方式 //拦截器生命周期:随项目的启动而创建,随项目关闭而销毁 public class MyInterceptor implements Interceptor{} //创建方式2: 继承AbstractInterceptor -> struts2的体贴 //帮我们空实现了init 和 destory方法. 我们如果不需要实现这两个方法,就可以只实现intercept方法 public class MyInterceptor2

qtday02 qt做简单的加法器和模拟登陆功能

//在3t2目录下 //adder.h /* qt简单加法计算器 */ #ifndef ADDER_H #define ADDER_H #include<QDialog> #include<QLineEdit> #include<QtWidgets/QPushButton> #include<QtWidgets/QLabel> class Adder:public QDialog{ Q_OBJECT//让自定义的槽函数生效 private: QLineEdi

使用C#语言控制数据库,完成用户登陆功能

1. 数据库的创建 首先需要选择一个数据库管理工具,这里我们使用Navicat Premium作为我们的数据库管理工具,这款软件是需要下载安装的,安装完成之后需要记住你的账号和密码.我们使用mysql数据库作为我们使用的数据库,这也是需要我们下载安装的.当我们需要的软件都下载及安装完成之后我们就可以开始创建我们的数据库了. 第一步:创建一个连接,在Navicat右上角有一个连接选项,点击我们创建一个mysql数据库,然后会弹出这样一个窗口 自定义一个连接名,然后填写上主机的IP地址(如果用本机测