zoukankan      html  css  js  c++  java
  • JavaEE 学习中,Web-Servlet 简单登录页面(入口、处理、出口)(java 学习中的小记录)

    JavaEE 学习中,Web-Servlet 简单登录页面(入口、处理、出口)(java 学习中的小记录)作者:王可利(Star·星星)

    Web-Servlet 简单登录页面

    这一章主要是熟悉,入口页面的登录效果,然后通过servlet来处理,最后把值传递给出口页面的过程。

    附上代码(入口页面):

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     2 <html>
     3   <head>
     4     <title>login.html</title>
     5     
     6     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     7     <meta http-equiv="description" content="this is my page">
     8     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     9     
    10     <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    11 
    12   </head>
    13   
    14   <body>
    15   <form action="loginUrl"  method="post">
    16   
    17     用户名:<input type="text" name=username value=""/><br/>
    18   
    19   密&nbsp;&nbsp;&nbsp;码:<input type="text" name=pwd value=""/><br/>
    20   <input type="submit" value="登录" > 
    21   
    22  <!-- 按钮button   按钮+提交 submit-->
    23  
    24   
    25   </form>
    26 
    27   <a href="loginUrl?username=star&pwd=123456">跳转到LoginServlet的doGet方法</a>
    28   
    29  </body>
    30 </html>
    入口代码

    附上代码(处理过程界面是jsp格式):

     1 package com.bw.test;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.http.HttpServlet;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 public class LoginServlet extends HttpServlet {
    11     @Override
    12     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    13             throws ServletException, IOException {
    14         
    15         
    16         //涉及到编译汉字的时候出现乱码
    17         req.setCharacterEncoding("utf-8");//控制台出现乱码的时候用        
    18         resp.setCharacterEncoding("utf-8");//输出页面出现乱码的时候用
    19         
    20         
    21         System.out.println("进入doGet方法");
    22         
    23     }
    24     
    25     @Override
    26     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    27             throws ServletException, IOException {
    28         
    29         System.out.println("进入doPost方法");
    30         
    31         //涉及到编译汉字的时候出现乱码
    32         req.setCharacterEncoding("utf-8");//控制台出现乱码的时候用        
    33         resp.setCharacterEncoding("utf-8");//输出页面出现乱码的时候用
    34         
    35         
    36         System.out.println("进入doPost方法");
    37         
    38         //跳转到出口  跳转传递数据就用这个
    39         //req.getRequestDispatcher("success.jsp").forward(req, resp);    
    40         //重新定向     跳转不传递数据就用这个
    41         //resp.sendRedirect("success.html");
    42         
    43         //拿到登录输入的帐号密码
    44         String userName=req.getParameter("username");
    45         String pwd = req.getParameter("pwd");
    46         
    47         //控制台输出帐号密码
    48         System.out.println("账户:"+userName+"密码:"+pwd);
    49         
    50         //保存数据(用jsp来做出口页面的话就要保存数据)
    51         req.setAttribute("name",userName);
    52         req.setAttribute("password", pwd);
    53         
    54         
    55         //跳转并且可以传递数据
    56         req.getRequestDispatcher("success.jsp").forward(req, resp);
    57     }
    58 }
    处理过程(当出口界面是jsp格式的时候)

    附上代码(出口页面界面是jsp格式):

     1 <%@ page pageEncoding="UTF-8"%>
     2 
     3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     4 <html>
     5   <head>
     6     <title>success.html</title>
     7     
     8     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     9     <meta http-equiv="description" content="this is my page">
    10     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    11     
    12     <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    13 
    14   </head>
    15   
    16   <body>
    17     注册的用户名:${ name },密码:${ password }
    18   </body>
    19 </html>
    出口页面 界面是jsp格式

    附上代码(web.xml的设置):

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7 
     8   <welcome-file-list>
     9     <welcome-file>index.jsp</welcome-file>
    10   </welcome-file-list>
    11   
    12    <servlet>
    13     <servlet-name>LoginServlet</servlet-name>
    14     <servlet-class>com.bw.test.LoginServlet</servlet-class>
    15   </servlet>
    16 
    17   <servlet-mapping>
    18     <servlet-name>LoginServlet</servlet-name>
    19     <url-pattern>/loginUrl</url-pattern>
    20   </servlet-mapping>
    21   
    22 </web-app>
    web.xml

    自己需要注意的问题:

    1.jsp服务器在使用的时候,记得是发布的服务器要和运行的服务器是一致的。

         

    2.入口这里,method="post" 意思是当前的数据用post方法传递 在服务器端可用response.post("表单域名")来获得数据 而get方法传递的数据是可以在浏览器的地址栏明文传递的 很容易泄漏信息 并且传递的信息量不是很大(1024字节 IE) 而post方法可以传递更大信息量的数据,处理里面 走doGet方法用method="get",走doPost方法用method="post",

    3.jsp文件处理的方法要放在doPost方法里面执行,doGet方法里面不可以。

    4.jsp文件对于传进来的数据要先保存,然后再跳转数据 。

    5.处理里面防止出现乱码,汉字编译不到要在前面先编译成utf-8的。

    6.在输出界面要有<%@ page pageEncoding="UTF-8"%>不然会乱码。

    附上代码(入口页面):

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     2 <html>
     3   <head>
     4     <title>login.html</title>
     5     
     6     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     7     <meta http-equiv="description" content="this is my page">
     8     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     9     
    10     <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    11 
    12   </head>
    13   
    14   <body>
    15   <form action="loginUrl"  method="get">
    16   
    17     用户名:<input type="text" name=username value=""/><br/>
    18   
    19   密&nbsp;&nbsp;&nbsp;码:<input type="text" name=pwd value=""/><br/>
    20   <input type="submit" value="登录" > 
    21   
    22  <!-- 按钮button   按钮+提交 submit-->
    23   </form>
    24 
    25   <a href="loginUrl?username=star&pwd=123456">跳转到LoginServlet的doGet方法</a>
    26   
    27  </body>
    28 </html>
    入口界面

    附上代码(处理过程界面是html格式)

     1 package com.bw.test;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.http.HttpServlet;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 public class LoginServlet extends HttpServlet {
    11     @Override
    12     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    13             throws ServletException, IOException {
    14         
    15         
    16         //涉及到编译汉字的时候出现乱码
    17         req.setCharacterEncoding("utf-8");//控制台出现乱码的时候用
    18         
    19         resp.setCharacterEncoding("utf-8");//输出页面出现乱码的时候
    20         
    21         
    22         System.out.println("进入doGet方法");
    23         
    24         //跳转到出口  跳转传递数据就用这个
    25          req.getRequestDispatcher("success.html").forward(req, resp);    
    26         //重新定向     跳转不传递数据就用这个
    27         //resp.sendRedirect("success.html");
    28         
    29         //拿到登录输入的帐号密码
    30         String userName=req.getParameter("username");
    31         String pwd = req.getParameter("pwd");
    32         
    33         //控制台输出帐号密码
    34         System.out.println("账户:"+userName+"密码:"+pwd);
    35 
    36     }
    37     
    38     @Override
    39     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    40             throws ServletException, IOException {
    41         
    42         System.out.println("进入doPost方法");
    43     }
    44 }
    处理过程(当出口界面是html格式的时候)

    附上代码(出口页面界面是html格式):

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     2 <html>
     3   <head>
     4     <title>success.html</title>
     5     
     6     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     7     <meta http-equiv="description" content="this is my page">
     8     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     9     
    10     <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    11 
    12   </head>
    13   
    14   <body>
    15            成功了........<br/>
    16   </body>
    17 </html>
    出口界面

    附上代码(web.xml):

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7 
     8   <welcome-file-list>
     9     <welcome-file>index.jsp</welcome-file>
    10   </welcome-file-list>
    11   
    12    <servlet>
    13     <servlet-name>LoginServlet</servlet-name>
    14     <servlet-class>com.bw.test.LoginServlet</servlet-class>
    15   </servlet>
    16 
    17   <servlet-mapping>
    18     <servlet-name>LoginServlet</servlet-name>
    19     <url-pattern>/loginUrl</url-pattern>
    20   </servlet-mapping>
    21   
    22 </web-app>
    web.xml

    自己需要注意的问题:

    web.xml 文件里面 红色中间的的部位要写在<web-app>的里面。

    <servlet>里面的<servlet-name>是为<servlet-class>这个类取一个名字方便下面来给这个类赋一个新的名字

    <servlet-mapping>里面的<servlet-name>要和前面的类的是一致的才行,<url-pattern>写类要改成的名字

    然后输入网址的时候末尾就不是写类名了,就直接写<url-pattern>改成的名字,就可以调用这个类。

  • 相关阅读:
    Promise/Deferred
    理解RESTful架构
    XSS跨站脚本攻击
    crsf 跨站请求伪造
    街头生意
    什么是开光
    影响力
    linux上安装rar解压软件
    sip协议音视频性能测试
    解决关键SSL安全问题和漏洞
  • 原文地址:https://www.cnblogs.com/StarKL/p/6204118.html
Copyright © 2011-2022 走看看