Jsp动态网站初步项目 --简单的商品浏览页面 (登录功能二)

来源:互联网 发布:杭州网站建设宣盟网络 编辑:程序博客网 时间:2024/05/22 16:03

完成了java部分的内容,接下来正式在实现登录界面实现登录。。
一.新建JSP页面
1.在WebRoot下,新建login.jsp
代码:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">    <title>系统登录</title>    <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="This is my page">    <!--    <link rel="stylesheet" type="text/css" href="styles.css">    -->    <style type="text/css">      span      {         color: #CCC;      }      table      {        margin-top:10%;        margin-left: 40%;        margin-right: 40%;        margin-bottom: 30%       }    </style>  </head>  <body>      <h1 align="center">用户登录</h1>      <hr/>      <form action="servlet/LoginServlet" method="post" >         <table>           <tr>             <td>用户名:</td>             <td><input type="text" name="username" value=""></td>           </tr>            <tr>             <td>密&nbsp;&nbsp;码:</td>             <td><input type="password" name="password" value=""> </td>           </tr>           <tr>            <td colspan="2"> <input type="checkbox"><span>十天内记住登录状态</span> </td>           </tr>            <tr>             <td colspan="2" align="center"><input type="submit" value="登录"> </td>           </tr>         </table>      </form>  </body></html>

页面效果:
这里写图片描述
二.LoginServlet,处理页面提交的登陆信息

package com.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.dao.userDAO;public class LoginServlet extends HttpServlet {/** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. *  * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        response.setContentType("text/html;charset=utf-8");response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");out.println("<HTML>");out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");out.println("  <BODY>");out.println("<p>正在跳转...</p>");String username = "";String password = "";userDAO dao = new userDAO();//判空if(request.getParameter("username")!=null){username = request.getParameter("username");}if(request.getParameter("password")!=null){password = request.getParameter("password");}if(dao.userLogin(username, password)) //检查用户名密码{//System.out.println("LoginServlet:登录成功!");request.getRequestDispatcher("/index.jsp").forward(request, response);}else{//跳转到登录错误界面request.getRequestDispatcher("/loginerror.jsp").forward(request, response);}out.print(this.getClass());out.println("  </BODY>");out.println("</HTML>");out.flush();out.close();}}

三.改商品浏览界面代码

1.在界面获取用户信息,在index.jsp<head></head>标签<%    User user = null;//当前页面用户对象   userDAO userdao = new userDAO();   //根据登录用户名密码获取用户对象,并赋给当前页面对象   String username = "";   String password = "";   //判空   if(request.getParameter("username")!=null){username = request.getParameter("username");}if(request.getParameter("password")!=null){password = request.getParameter("password");}if(userdao.getUsersByUsernaem(username, password)!=null)       {         user = userdao.getUsersByUsernaem(username, password);       }  %> ``` 2.在“body”标签中键入以下代码 ```<%       //添加页面登录标签      String str = "";      String url = "login.jsp"; //设置可变url     // if(user==null) out.println("用户空!");      if(user!=null)//用户声明时赋NUll,不然会if()会一直执行,因为user new()过以后不为空      {         str = user.getUsername();         url = "UserIfo.jsp";       //  out.println(str);      }      else      {          str = "请登录!";      }   %>    <h1 align="center">商品展示</h1>       <!-- 添加页面登录标签,url登录时为:UserIfo.jsp,未登录时为login.jsp -->    <p align="right">用户,<span> <a href =<%=url %>><%=str %></a></span></p>    <hr/>...以下省略

登录效果:
这里写图片描述
未登录:
这里写图片描述

0 0