javaweb快速上手(二 登陆功能)

来源:互联网 发布:mac office激活账号 编辑:程序博客网 时间:2024/06/01 09:08

登陆功能

前面已经配置好环境变脸了,接下来实现一个简单的登陆功能


1. 运行机制

简单的讲,

1.用户访问jsp页面,在jsp页面输入信息

2.jsp将用户输入的信息传递给servlet

3.servlet控制页面跳转

是不是很简单?


2. 前段页面login.jsp

1.在web目录下新建一个名为login的jsp页面(右键web页—>新建—>jsp…)

同样的方法,在web目录下再创建一个success.jsp,faild.jsp

此时,你的项目应该是这样的。。。目录结构

2.编辑login.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%><!DOCTYPE html><html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">        <title>JSP Page</title>    </head>    <body>        <form action="doLogin">        用户名:        <br>        <input name="us" type="text" /><br>          密码:        <br>        <input name="pw" type="password" /><br>        <button type="submit">登陆</button>        </form>    </body></html>

我们发现以上代码中有这么两个地方
1.
<form action="doLogin" method="post">
这里action的值是指表单提交的地址,也就是说这个表单会提交到名为doLogin的servlet中进行处理

method=”post”表示表单的提交方式为post,对于method属性,它一般有两个值,get和post,在这里先不说get和post的区别了,在写servlet时会感受到一点点这两种方式的区别

2.
<input name="us" type="text" />
这里有一个name属性,我们知道servlet接收表单信息并进行处理,为了能区分不通过输入(比如这里就有两个输入,分别是用户名和密码),于是就添加了name这个属性,我们在servlet中可以用这种方式接收前台的数据:

String username=request.getParameter("us");String password=request.getParameter("ps");//us,ps分别是用户名,密码这两个输入框中输入的数据

3创建servlet(doLogin.java)

右键源包—->新建—–>servlet
创建servlet
在这里要填写servlet的相关信息
1.类名:doLogin
2.包:com.servlet

然后点下一步,选择将信息添加到部署描述符(web.xml),点击完成

选择将信息添加到部署描述符

(注意了,这一项一定要选,后面会讲到web.xml的意义)

在点击完成之后,你就创建了一个servlet,我们都知道,servlet其实就是一个java类,
你会发现你的源包目录下多了com.servlet包,在这个包下有一个doLogin.java,此时你的工程目录应该是这样的
工程目录


4 编辑doLogin.java

首先,我们打开doLogin.java

我们会发现doLogin.java中只有三个函数,分别是

protected void processRequest(HttpServletRequest request, HttpServletResponse response){ }
protected void doGet(HttpServletRequest request, HttpServletResponse response)
protected void doPost(HttpServletRequest request, HttpServletResponse response)

还记得login.jsp中的表单吗?
我们时这样写的

<form action="doLogin" method="post">
我们选择的方式是post,所以我们可以编辑doPost函数(当然也可以编辑processRequest函数)

(doGet函数只能处理get请求,doPost函数只能处理post请求,而progressRequest函数可以同时处理get和post请求)

我们在doLogin.java中实现这么几个功能
1. 接收login.jsp中传递的数据(用户名,密码)
2. 判断用户名,密码是否正确
3. 页面跳转,用户名密码正确,跳转到success.jsp,错误则跳转到faild.jsp

在明确了以下几点之后,我们开始写代码

接下来编辑doPost函数

 protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {        request.setCharacterEncoding("UTF-8");  //设置编码,不加容易乱码        String username=request.getParameter("us");  //获取用户名        String password=request.getParameter("ps");  //获取密码        if(username==null|password==null){            response.sendRedirect("fail.jsp"); //页面跳转            return;        }        if(username.equals("1")&&password.equals("1")){        //注意,这里要用equals而不是用等于             response.sendRedirect("success.jsp");        }        else{            response.sendRedirect("fail.jsp");        }        processRequest(request, response);    }

Ctrl+s保存一下
接下来就可以运行了,
右键login.jsp—>运行文件

任务完成
你可以去下载整个项目文件:
下载地址

0 0
原创粉丝点击