jsp+servlet登陆功能

4 篇文章 0 订阅
web.xml其实就是servlet的一个配置文件,通过这个配置文件来寻找对应的servlet处理业务。
        容器通过配置文件web.xml找相应的servlet这样有助于灵活和可维护性。具体用法如下:
<servlet> 
      <servlet-name>MyServlet </servlet-name>      //这里是servlet 的名字,自己定义 的 
      <servlet-class>Servlet </servlet-class>      //这里是servlet的位置 。 如果在 一个包下, 就写 包名.类名 
</servlet> 
<servlet-mapping> 
      <servlet-name>MyServlet </servlet-name>      //这里跟 上面的;servlet-name 必须一样 
      <url-pattern>/abc </url-pattern>            //这里 在地址 输入访问的 时候 输入的,自己定义 

</servlet-mapping>

默认web.xml欢迎页面为index.html

更改web.xml默认欢迎页面:

<welcome-file-list>  
    <welcome-file>/pages/template/login.jsp</welcome-file>  
</welcome-file-list> 

welcome-file-list可以转向到servlet,但是,前提是servlet不能有扩展名,否则就当成静态文件处理了

session是什么

HTML中如何输出变量值

$

<form action="loginServlet" method="post"><!-- action写要请求Servlet的名 -->  
    用户名:<input type="text" id="uname" name="uname"><br><br>  
    密码:<input type="password" id="pwd" name="pwd"><br><br>  
    <input type="submit" value="登录">    
    <input type="reset" value="重置">   

</form>

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>登录页面</title>  
</head>  
<body>  
<form action="loginServlet" method="post"><!-- action写要请求Servlet的名 -->  
    用户名:<input type="text" id="uname" name="uname"><br><br>  
    密码:<input type="password" id="pwd" name="pwd"><br><br>  
    <input type="submit" value="登录">    
    <input type="reset" value="重置">   
</form>  
</body>  
</html>

success.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
        <title>登录成功页面</title>  
    </head>
    <body>  
        登录成功!${name},${pwd}<form action="loginServlet" method="get"><input type="submit" value="注销登录"></form>  
    </body>  
</html>  

loginServlet.jsp

import java.io.IOException;  
import java.io.PrintWriter;
  
import javax.servlet.ServletException;  
import javax.servlet.annotation.WebServlet;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import javax.servlet.http.HttpSession;  
  
/** 
 * Servlet implementation class loginServlet 
 */  
@WebServlet("/loginServlet")  
public class loginServlet extends HttpServlet {  
    private static final long serialVersionUID = 1L;  
  
    /** 
     * @see HttpServlet#HttpServlet() 
     */  
    public loginServlet() {  
        super();  
        // TODO Auto-generated constructor stub  
    }  
  
    /** 
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse 
     *      response) 
     */  
    protected void doGet(HttpServletRequest request,  
           HttpServletResponse response) throws ServletException, IOException {  
        HttpSession session = request.getSession();//获取session  
        //Object name = session.getAttribute("name");//从session中获取用户名  
        //Object pwd = session.getAttribute("pwd");//从session获取用户密码  
        //System.out.println(name+":"+pwd); //测试一下,输出获取的用户名和密码 
         
        session.invalidate(); //注销session  
        response.sendRedirect("login.jsp"); //跳转到login.jsp页面  


    }  
  
    /** 
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse 
     *      response) 
     */  
    protected void doPost(HttpServletRequest request,  
            HttpServletResponse response) throws ServletException, IOException {  
        // doGet(request, response);  
        // 设置编码为utf-8  
        request.setCharacterEncoding("utf-8");  
        response.setCharacterEncoding("utf-8");  
  
        // 获取用户名和密码  
        String name = request.getParameter("uname");  
        String pwd = request.getParameter("pwd");  
  
        // 校验用户名和密码是否正确  
        if ("admin".equals(name) && "123".equals(pwd)) {// 验证成功  
            HttpSession session = request.getSession();//获取session  
            session.setAttribute("name", name);// 将用户名和密码保存在session中  
            session.setAttribute("pwd", pwd);// 将用户名和密码保存在session中  
            response.sendRedirect("success.jsp");// 跳转到success.jsp页面  
        } else {// 校验不成功,则留在跳转到login.jsp页面  
            response.sendRedirect("login.jsp");  
        }  
    }  
  
}  

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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">
    <welcome-file-list>  
    <welcome-file>login.jsp</welcome-file>  
</welcome-file-list>
    <servlet>
        <servlet-name>loginServlet</servlet-name>
        <servlet-class>loginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>loginServlet</servlet-name>
        <url-pattern>/loginServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值