1.思路:

首先建一个class,属性有用户名,密码,人数等,注意重写tostring,方便打印

public class User {private  int id;private  String username;private  String password;@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +'}';}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}

2.再建一个类,这里面注意需要用到单例模式,因为只需要第一次初始化就可以了

public class NewsSystem {static {ns=new NewsSystem();}private static NewsSystem ns;private NewsSystem(){}public static NewsSystem getInstance(){return ns;}
//    单列模式,只初始化一次 getInstancepublic static int id_num;public List<User> users =new ArrayList<>(  );public void addUser(String username,String password,String cfmPwd){if(password.equals( cfmPwd )){User u=new User();u.setId( ++id_num );u.setUsername( username );u.setPassword( password );users.add( u );}else {System.out.println("密码确认不一致");}System.out.println("当前共有"+users.size()+"个用户");}
}

3.在web里面创建一个html,创建一个登录表单

body>
<form action="index.jsp"><p> 用户名:<input type="text" name="name"></p><p>密码:<input type="password" name="pwd"></p><p>确认密码:<input type="password" name="confirmPwd"></p><p><input type="submit"  value="提交注册"></p>
</form>
</body>

4.打开web下面的index.jsp,把表单的信息输入进去

 <body>
<%request.setCharacterEncoding( "utf-8" );response.setCharacterEncoding( "utf-8" );String username = request.getParameter( "name" );String password = request.getParameter( "pwd" );String cfmPwd = request.getParameter( "confirmPwd" );NewsSystem ns=NewsSystem.getInstance();ns.addUser( username,password,cfmPwd );out.print( ns.users );//    request.getRequestDispatcher( "hello.jsp").
//            forward( request,response ); //请求转发session.setAttribute( "user",username );response.sendRedirect( "hello.jsp" ); //重定向
%><p> <%=ns.users%></p></body>

5.用户登录页面操作以及结束了,如果需要记录登录用户的姓名,可以在创建一个jsp

<body>
<%--<% String username=request.getParameter("name");%>--%>
<%--<h1>恭喜用户<%=username%>登录成功</h1>--%><% Object user = session.getAttribute( "user" );%>
<h2>恭喜用户<%=user%>登录成功</h2><h1>恭喜用户${user}登录</h1>   <!--EL表达式-->
</body>

我用了三种方法,结合5和我一一对应。

这里面需要注意的是,需要先添加tomcat

6.每次运行都会先报错,在把.html输入到url才行比较麻烦,所以在web下面有个web.xml中加一句话

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><welcome-file-list><welcome-file>/regex.html</welcome-file></welcome-file-list>
</web-app>

7.下面就是运行结果

总结:我遇到的一些问题。

1.首先如果tomcat没有装好,在操作对象request.方法出不来,就算强行打上去,也会爆红的;

2.也可以先装tomcat,点击绿色三角形运行,如果跳出一个页面,就是安装成功;

3.使用对象点方法request.getParameter里面的参数要和你在表单设置的name名字要相同,否则会数据是空的

4.使用单例模式getInstance,因为没有数据库存数据,如果不用单例模式,每次都会创建一个新的对象,不会计算总数

5.不要用中文,容易报错,也不要直接在src下建类,都是出错的

6.不要用页面上了的浏览器打开,要用run运行

7.如果提示导入不正确,可以把out先删除,再create一个就可以了

使用jsp实现用户注册及登录相关推荐

  1. jdbc连接mysql登录注册_jdbc+mysql+servlet+jsp实现用户注册与登录功能

    /* *mysql代码 */ DROP TABLE IF EXISTS `useres`; CREATE TABLE `useres` ( `id` int(20) NOT NULL AUTO_INC ...

  2. 在eclipse中基于JSP的用户注册登录界面

    1.开发工具和开发环境       开发工具: MyEclipse10,JDK1.6.0_13(32位),Tomcat7.0(32位),mysql5.7.13 开发环境:WIN10 2.Demo_JS ...

  3. 【Openfire】网页版的用户注册、登录、修改密码

    Openfire客户端的开发是借助Smack提供的方法.Smack可以从官网下载.如果是Openfire3.7.1的版本,建议使用Smack3.2.2与其匹配.官网地址:http://www.igni ...

  4. 使用Forms Authentication实现用户注册、登录 (二)用户注册与登录

    从这一部分开始,我们将通过一个实际的完整示例来看一下如何实现用户注册与登录.在介绍注册与登录之前,我们首先介绍一下如何判断用户是否已登录,并未后面的示例编写一些基础代码. 判断用户是否已经登录 首先, ...

  5. ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析

    ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析 . /   // datadase odbc1.cpp : 定义应用程序的入口点.  //   #inc ...

  6. 使用Forms Authentication实现用户注册、登录 (三)用户实体替换

    使用Forms Authentication实现用户注册.登录 (三)用户实体替换 收藏 IPrincipal和IIdentity 通过查阅文档,我们可以看到HttpContext.User属性的类型 ...

  7. python注销代码_django用户注册、登录、注销和用户扩展的示例

    用户部分是一个网站的基本功能,django对这部分进行了很好的封装,我们只需要在django的基础上做些简单的修改就可以达到我们想要的效果 首先我假设你对django的session.cookie和数 ...

  8. 使用Web API和React创建用户注册和登录

    目录 介绍 先决条件 代码 创建数据库和表 创建一个Web API项目 创建React项目 介绍 在本文中,我们将逐步学习使用Reactjs和Web API创建用户注册和登录页面的过程.React是一 ...

  9. Python+django网页设计入门(5):自定义用户注册与登录功能

    今天恰逢1024,是我们码农自己的节日,祝"Python小屋"所有朋友节日快乐!发几个去年整理的段子开心一下: 祝所有程序员1024节日快乐 =================== ...

最新文章

  1. 2022-2028年中国丁晴橡胶行业市场深度分析及投资规划分析报告
  2. SweetAlert插件 弹框插件
  3. BERT模型蒸馏有哪些方法?
  4. VTK:Utilities之OffScreenRendering
  5. docker 安装 mysql和Navicat Premium 远程连接
  6. 在CSS中使用not:first-child选择器
  7. Linux下导出MySQL为SQL文件_MySQL导入导出.sql文件步骤
  8. oracle 时间加减
  9. 实现树状结构_组合模式 - 树状结构的优雅实现
  10. LeetCode(589)——N叉树的前序遍历(JavaScript)
  11. tpadmin合成推广二维码
  12. Yoshua Bengio:注意力是“有意识”AI的核心要素
  13. Top100图神经网络论文大盘点
  14. Minecraft作弊端介绍:PYRO CLIENT-一个平凡但神秘的存在
  15. 【YOLO】YOLO简介
  16. 课堂笔记 - 数据库设计
  17. OpenFOAM-v2006重叠网格挖洞问题研究以及overset代码解析(二)PATCH是什么类型的patch?
  18. Python爬虫实战,pyecharts模块,Python实现中国地铁数据可视化
  19. VMware的配置及ubuntu10.04 tftp 与嵌入式开发板的连接设置
  20. Vs2019创建新项目时,没有任何模板,导致无法创建新项目

热门文章

  1. 尤里复仇退出界面_win10运行红警2尤里复仇的解决方法
  2. C语言初阶小练习(1)
  3. 从全球价值链视角看,京东云数智供应链对未来经济有何影响?
  4. 四十五、Kafka生产者(Producer)API介绍
  5. Centos 7 matlab2018a安装及键盘无法输入的问题
  6. Win11输入法不见了怎么办
  7. 【算法实践】他山之石, 可以攻玉 -- 利用完全二叉树快速实现堆排序
  8. 2022年蓝桥杯省赛 C/C++ A组题解
  9. Pyton IO编程
  10. scylladb 4.1 分布式安装部署