JAV EE Web 记住密码功能的实现


  • 实现记住密码功能,即用户在第一次登录时输入密码并正常登录后,在以后的一个月的时间内再次访问时不需要填写用户名和密码。

目录

知识讲解:

servlet相关知识:

Netbeans 8.2 问题及解决办法

代码:

jsp文件

servlet对应的java文件:

运行效果:



知识讲解:

servlet相关知识:

web.xml  对于WEB应用很重要,作为WEB应用与WEB容器交互的场所,他一定要位于应用的WEB-INF子目录下,我尝试删除了它,就会部署不成功。

节点用来指明servlet逻辑名称与java实现类之间的对应关系。

节点用来指明servlet逻辑名称与java实现类之间的对应关系;

节点指明请求Web应用程序时默认显示的欢迎页面。

详细查阅DTD。

Web容器正式根据.xml文件描述信息来操作web应用的。

可能你的项目下面没有生成.xml文件,一般是没有勾选自动生成.xml 的文件,可以 重新创建servle 在创建的过程中勾选改选项。

发布到服务器上的应用除了要包含自身实现的代码外,还要包括一个XMl文件

XML文件被称为部署描述文件,部署文件中详细的描述了应用中的组建需要调用的容器服务的名称,参数等.

Servlet 的编程接口:

HttpServletRequest 接口代表HttpServlet的请求。

HttpServleetResponse 接口代表HttpServlet返回客服机的响应。

ServletConfig 接口代表Servlet的配置信息。

ServletContext接口代表Servlet运行环境的信息。

ServletException 接口代表servlet运行过程中抛出的意外对象。

RequestDispatcher 接口是请求转发器。可以将客户端请求从一个servlet转发到另外其他的服务器资源,如其他的Servlet,页面等。

Netbeans 8.2 问题及解决办法:


1、新建一个JavaWeb项目:
“文件”->“新建项目”,在“类别”中选“Java Web”节点,在“项目”下选“Web 应用程序”,下一步,定义项目名称和项目位置(随便你取个什么名,放哪边都可以),下一步,服务器一般选用Tomcat(其他的也行),
Java EE版本:一般选Java EE5,下一步,框架:如果你不用框架就直接下一步,如果用,根据你自己需用选用,完成。
2、新建JSP文件:
NetBeans JavaWeb中会自动为用户新建一个index.jsp文件,可以在里面加内容
在项目中新建一个JSP文件: 点击项目名,右击,选“新建”->JSP
3、运行JSP:
a、直接右击你要运行的JSP文件,选“运行文件”
b、运行整个项目,菜单栏“运行”—>“运行项目”或在工具栏中找运行的按钮(但是要注意运行项目的的默认的起始JSP文件是index.jsp,如果要改,在“Web页”->“
WEB-INF”->“web.xml

改:
index.jsp的“index.jsp”为你想的起始页

或这样改:双击web.xml,在“页面”下,欢迎文件中,通过“浏览”选择你的起始页)

----------------------------------------------------------------
另外:我们一般用Tomcat服务器,在下载NetBeans是时候一般下all版本的,在装NetBeans的时候,的“定制”,勾选上Tomcat,这样就安装啦Tomcat,而且会自动的为我们配置好,如果你单独安装,要在“服务”窗口下选“服务器”右击添加服务器。。。


根据上面的提示,我想新建一个jsp 文件并不行,并抛出了警告

JAV EE Web 记住密码功能的实现_第1张图片

解决办法:

删除原来创建的项目,在创建的项目的时候选择JAVA  EE5.----》如下图所示 (JAVA  EE 7 WEB 默认是是创建index.html,但是要编写记住密码的程序我会使用java语言,所以必须要用jsp。

JAV EE Web 记住密码功能的实现_第2张图片

开始进入正题:开始些作业了,我真的觉得过程复杂。哼~~!~~

我选择了java ee 5之后,感觉变了很多,.xml文件多了很多,不知道为什么,目前这里还是很迷:

JAV EE Web 记住密码功能的实现_第3张图片

更神奇的是这段代码也有了,原来的找了半天都没有,而且我自己加了这段代码还是显示起初创建的.html页面,造化弄人:

 

代码:

jsp文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
 



	
		
 
		My JSP 'cookie.jsp' starting page
		                 
                <欢迎登陆中南民族大学信息门户
                
                
                
	 
	
		

欢迎登陆中南民族大学信息门户

<% String username = null; String userpwd = null; Cookie[] cookies = request.getCookies(); for (int i = 0; i < cookies.length; i++) { if (cookies[i].getName().equals("userinfo")) { //存着数据(用户名+密码) username = cookies[i].getValue().split("-")[0]; userpwd = cookies[i].getValue().split("-")[1]; //再一次的存起来(备用) request.setAttribute("xingming", username); request.setAttribute("mima", userpwd); } } %> 用户名:

用户名:

记住用户名和密码


中南民族大学计算机科学学院

需要自己选择一张背景图,取名叫background.jpg

servlet对应的java文件:


import static com.sun.corba.se.spi.presentation.rmi.StubAdapter.request;
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
 
@WebServlet(value="/CookieServlet")

public class cookie_servlet extends HttpServlet {
 
	private static final long serialVersionUID = 1L;
         protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        response.setContentType("text/html;charset=gb2312");
        request.setCharacterEncoding("gb2312");
      

        PrintWriter out = response.getWriter();
        {
            String name = request.getParameter("myName");
            String password = request.getParameter("pass");
            /* TODO output your page here. You may use following sample code. */
           /* out.println("");
            out.println("");
            out.println("");
            out.println("Servlet First");            
            out.println("");
            out.println("");
            out.println("username:"+
                    request.getParameter("myName")
                    +"password:"+"\n"+
                    request.getParameter("pass"));
            
            out.println("");
            out.println("");*/
           out.println(
                   "\n"+
                   "

"+"get post data"+"

\n"+ "
    \n"+ /* "username:"+ request.getParameter("myName") +"password:"+"\n"+ request.getParameter("pass")+*/ ""); } } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { processRequest(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { processRequest(req, resp); String username = req.getParameter("username"); String password = req.getParameter("password"); String ck = req.getParameter("ck"); if("on".equals(ck)){ // 构造Cookie对象 // 添加到Cookie中 Cookie cookie = new Cookie("userinfo", username + "-" + password); // 设置过期时间 cookie.setMaxAge(7*24*60*60); // 存储 resp.addCookie(cookie); } } }

运行效果:

JAV EE Web 记住密码功能的实现_第4张图片

作业不到要交的一天是写不好的。

 

你可能感兴趣的:(java,EE,Web,NetBeans,IDE,8.2,cookies)