Java Web开发 基于HttpServlet的用户登录网站 实例

news/2024/5/20 4:15:04/文章来源:https://blog.csdn.net/hgfygfc/article/details/83949115

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

      一个简单的小例子,基于httpservlet的用户登录(杂家是菜鸟刚接触javaee,只能从最简单出发了),首先看业务逻辑:

有三个文件组成,分别是登录、验证和欢迎界面。要达到的目标是:

下图是HttpServlet处理doGet和doPost请求的异同:

废话不说了,先看源码:

第一:Login.java

//登陆界面package yan.guoqi;import javax.servlet.http.*;import java.io.*;public class Login extends HttpServlet{  public void doGet(HttpServletRequest req, HttpServletResponse res)//业务逻辑 try{  //中文乱码解决  res.setContentType("text/html;charset=gbk");  PrintWriter pw = res.getWriter();    //返回登陆页面  pw.println("<html>");  pw.println("<body>");  pw.println("<h1>登陆界面</h1>");  pw.println("<form action=logincl method=post>");  pw.println("用户名:<input type=text name=username><br>");  pw.println("密码:<input type=password name=passwd><br>");  pw.println("<input type=submit value=登陆><br>");  pw.println("</form>");  pw.println("<body/>");  pw.println("<html/>"); } catch(Exception ex){  ex.printStackTrace(); }    }  public void doPost(HttpServletRequest req, HttpServletResponse res){    this.doGet(req, res); }}


第二:LoginCL.java,验证用户名和密码是否正确

//用户验证servletpackage yan.guoqi;import javax.servlet.http.*;import java.io.*;public class LoginCL extends HttpServlet{  public void doGet(HttpServletRequest req, HttpServletResponse res)//业务逻辑 try//接受用户名和密码 String u = req.getParameter("username"); String p = req.getParameter("passwd"); //验证 if(u.equals("yan") && p.equals("yan")){  //合法  //跳转到welcome     res.sendRedirect("wel");   } else{  //不合法  //跳转  res.sendRedirect("login");//你要跳转的servlet的url }    } catch(Exception ex){  ex.printStackTrace(); }    }  public void doPost(HttpServletRequest req, HttpServletResponse res){    this.doGet(req, res); }}


第三:Wel.java 如果验证成功,显示欢迎界面

 //欢迎界面   package yan.guoqi;  import javax.servlet.http.*;  import java.io.*;   public class Wel extends HttpServlet{    public void doGet(HttpServletRequest req, HttpServletResponse res){  //业务逻辑  try{   res.setContentType("text/html;charset=gbk");   PrintWriter pw = res.getWriter();      pw.println("Welcome,恭喜您,已成功登陆!");      }  catch(Exception ex){   ex.printStackTrace();  }       }    public void doPost(HttpServletRequest req, HttpServletResponse res){      this.doGet(req, res);  } }

第四web.xml文件:

<?xml version="1.0" encoding="UTF-8"?><!-- ISO-8859-1 --><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor  license agreements. See the NOTICE file distributed with this work for additional  information regarding copyright ownership. The ASF licenses this file to  You under the Apache License, Version 2.0 (the "License"); you may not use  this file except in compliance with the License. You may obtain a copy of  the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required  by applicable law or agreed to in writing, software distributed under the  License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS  OF ANY KIND, either express or implied. See the License for the specific  language governing permissions and limitations under the License. --><web-app 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_2_5.xsd" version="2.5"> <display-name>Welcome to Tomcat</display-name> <description>     Welcome to Tomcat  </description> <servlet>  <!--给survlet起个名字,可以是任意的 -->  <servlet-name>login</servlet-name>  <!--servlet的路径(包名+类名) -->  <servlet-class>yan.guoqi.Login</servlet-class> </servlet> <servlet-mapping>  <!-- servlet的名字和上面保持统一 -->  <servlet-name>login</servlet-name>  <!-- 这是在浏览器中输入的访问该survlet的url,任意的 -->  <url-pattern>/login</url-pattern> </servlet-mapping> <servlet>  <!--给survlet起个名字,可以是任意的 -->  <servlet-name>logincl</servlet-name>  <!--servlet的路径(包名+类名) -->  <servlet-class>yan.guoqi.LoginCL</servlet-class> </servlet> <servlet-mapping>  <!-- servlet的名字和上面保持统一 -->  <servlet-name>logincl</servlet-name>  <!-- 这是在浏览器中输入的访问该survlet的url,任意的 -->  <url-pattern>/logincl</url-pattern> </servlet-mapping> <servlet>  <!--给survlet起个名字,可以是任意的 -->  <servlet-name>wel</servlet-name>  <!--servlet的路径(包名+类名) -->  <servlet-class>yan.guoqi.Wel</servlet-class> </servlet> <servlet-mapping>  <!-- servlet的名字和上面保持统一 -->  <servlet-name>wel</servlet-name>  <!-- 这是在浏览器中输入的访问该survlet的url,任意的 -->  <url-pattern>/wel</url-pattern> </servlet-mapping></web-app>

总结知识点:

1,页面的跳转用res.sendRedirect("xxx")来实现,xxx是xml文件里要跳转的servlet对应的url名字。

2,接收用户名和密码用String u = req.getParameter("username");还实现。其中的username是pw.println("用户名:<input type=text name=username><br>");这里对应的名字。

3,servlet里嵌入html语言。比如Login.java里的下面语句:

pw.println("<html>");  pw.println("<body>");  pw.println("<h1>登陆界面</h1>");  pw.println("<form action=logincl method=post>");  pw.println("用户名:<input type=text name=username><br>");  pw.println("密码:<input type=password name=passwd><br>");  pw.println("<input type=submit value=登陆><br>");  pw.println("</form>");  pw.println("<body/>");  pw.println("<html/>");


看来还要学习下html语言啊!

4,servlet解决中文乱码的方法:

res.setContentType("text/html;charset=gbk");

5,每个.java文件都要编译。对应的servlet文件在web.xml文件里都要配置注册下,这点很像android开发的Manifinest.xml文件。每次更改.java文件时,按韩顺平老师的讲解是reload一下。但有时候reload一下不中,把tomcat关闭重新开,浏览器关闭再输入网址打开,这样才看到更改后的效果。

-----------------------------下次这个验证模块要连上数据库,这个算小demo吧!大牛就别看源码了。Java web长路漫漫啊。。。。大哭

源码:http://download.csdn.net/detail/yanzi1225627/5053157  下载后参照http://blog.csdn.net/yanzi1225627/article/details/8564455在相应位置新建文件夹,对应的文件放进去。


 

 

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_876347.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云上部署webservice或者网站,服务器本身测试可以整成使用,但是在其他机器上调用时找不到网页或者webservice

阿里云上部署webservice或者网站&#xff0c;服务器本身测试可以整成使用&#xff0c;但是在其他机器上调用时找不到网页或者webservice 前一段时间做项目时需要用到webservice&#xff0c;开始时在自己的本地机器上创建了webservice,然后在vs2012中发布了这个webservice 然后…

iis部署网站(asp.net或者wcf)出现HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。

首先参考这个&#xff1a; http://blog.csdn.net/xuwei_xuwei/article/details/36895193 https://q.cnblogs.com/q/32443/ 其次&#xff1a; http://www.zhixing123.cn/net/41765.html 还有看下配置iis的时候有没有 都配置过了基本没问题

发布网站到本地IIS出错

错误&#xff1a; win10以前系统以管理员方式打开cmd执行 c:\windows\microsoft.net\framework64\v4.0.30319\aspnet_regiis.exe -i win10以管理员方式打开cmd执行 dism /online /enable-feature /featurename:IIS-ISAPIFilter dism /online /enable-feature /featurename:II…

12个免费学习编程的网站

摘要&#xff1a;无论想学什么,也无论出于什么目的想学,都需要你保持好奇心。但是作为刚想入门的新手&#xff0c;面对眼前海量的信息&#xff0c;或许根本不知道从哪里开始。想学习编程&#xff1f;这里有12个提供免费编程课的网站推荐给你。 曾几何时&#xff0c;编程对极客来…

网站部署到IIS上如何进行调试

在一个网站成功部署后&#xff0c;有时候可能会遇到一些错误&#xff0c;但又不能一眼看出错误源&#xff0c;如果能在源程序里下断点进行调试就好了&#xff0c;这样就能准确的找出错误代码。 下面就跟大家说说如何在一个已经部署了的网站上进行断点调试&#xff08;前提 有网…

【技巧】去哪找高清免费素材?这些资源网站必须收藏!

经常有同学问找素材和看创意的网站&#xff0c;今天就给大家介绍几个&#xff0c;素材免费且好用。 ① picjumbo 网址&#xff1a;https://picjumbo.com/ 美丽的免费照片 为高分辨率下载免费的图片&#xff0c;背景和图像&#xff0c;用于个人和商业用途 ② 01资源网 网址&…

10个超强英语学习资源网站,学霸们都在用!

想知道学霸们是怎么炼成的吗&#xff1f; 一起来看看躺在学霸电脑收藏夹的10个高档学习网站&#xff0c;用好它们&#xff0c;你也可以成为高手&#xff01; 1、TED 适用人群&#xff1a; 学霸&#xff0c;思想者 主要特点&#xff1a; 以专业、深度思考话题见长 网站简介&am…

找2021考研资料?这些超强资源网站必须知道!

&#xff08;1&#xff09;爱课程&#xff1a; 网址&#xff1a;http://www.icourses.cn/home/ 爱课程是教育部、财政部“十二五”期间启动实施的“高等学校本科教学质量与教学改革工程”支持建设的一个高等教育课程资源共享平台&#xff0c;集中展示“中国大学视频公开课”和…

【简历模板素材】制作简历,找简历模板?这几个网站全部搞定!

今天给大家推荐三个比较好用的制作简历&#xff0c;找简历模板的网站&#xff0c;可以在线制作并下载&#xff0c;也可以直接找简历模板套用&#xff01; 第一个推荐的网站就是——01资源网。 这是一个可以在线下载各种模板素材资源的网站&#xff0c;除了简历模板&#xff0…

冷知识!年薪百万的程序员常用的两个神网站分享!

今天分享两个程序员必逛的神网站。也是相对比较冷门的知识&#xff0c;两个网站都非常不错。 第一个是&#xff1a;No Design 网址&#xff1a;https://nodesign.dev 海量设计资源&#xff01;一秒搞定设计&#xff01; 网站上收集了许多十分便利的 UI 设计工具与设计资源&…

如何搭建一个像01资源网那样的付费资源网站?教你用wordpress快速搭建!

今天教大家如何快速创建一个属于自己的网站&#xff0c;永久免费&#xff01;并且支持各种类型&#xff0c;你可以创建一个简单的个人展示页&#xff0c;也可以创建一个好看的个人博客&#xff0c;甚至还可以创建一个电商网站&#xff0c;具体适用范围&#xff0c;大家可以自己…

5个考证神网站分享!涵盖初级中级会计/教师资格证/计算机二级/四六级各种资料!

对于各位考证的朋友&#xff0c;经常需要大量诸如网课类的学习资料&#xff0c;比如考初级中级会计资格证、教师资格证、计算机二级、四六级等等&#xff0c;那有哪些比较好的资源分享的网站呢&#xff1f; 下面我给大家介绍几个功能强大实用的网站&#xff0c;按照推荐优先级排…

通过IIS发布网站教程【十分钟完成一个网站发布】

工具&#xff1a;win10系统&#xff1b;一个完成的html文件&#xff08;或者是php、asp等&#xff09; 一、开启IIS服务 【控制面板】——【程序和功能】——【打开或关闭windos功能】&#xff0c;勾选以下截图服务&#xff0c;点击确定即可 二、局域网搭建网站 服务器电脑添…

VS2017 Web应用程序发布网站步骤

VS2017 Web应用程序发布网站详细步骤 一、web发布二、IIS安装三、IIS管理器发布网站四、出现的问题及其解决方法 一、web发布 1、用VS2017打开项目。 2、选中解决方案&#xff0c;点击鼠标 右 键&#xff0c;选择“清理解决方案”&#xff0c;然后再选择“重新生成解决方案”…

如何在Tomcat中发布网站

有静态发布和动态发布两种方式&#xff1a; 1. 静态发布网站&#xff1a; 直接在Tomcat安装目录下的webapps下创建网站文件夹即可&#xff08;可将网站内容放在该文件夹下~&#xff09; 2. 动态发布网站&#xff1a; 在Ecllipse的JavaEE视图中&#xff0c;右键选择->新建-…

iis发布网站时出现根目录文件解决方案

Window server 发布 vs打包的web应用时出现根目录文件 在web.config配置文件中 &#xff0c;modules 节点前加上 runAllManagedModulesForAllRequests“true”

Flask开发微电影网站(一)

1.用到的Flask知识 1.使用整形&#xff0c;浮点型&#xff0c;路径型&#xff0c;字符串型下正则表达式路由转化器2.使用GET与POST请求&#xff0c;上传文件&#xff0c;cookie获取与响应&#xff0c;404处理3.使用模板自动转义&#xff0c;定义过滤器&#xff0c;定义全局上下…

Flask开发微电影网站(二)

1.安装数据库连接依赖包 pip install flask-sqlalchemy 2.创建movie数据库 在CentOS虚拟机&#xff0c;进入MaridDB数据库提示符&#xff0c;创建movie数据库 create database movie 3.定义MaridDB数据库连接 在app目录下的__init__.py文件中添加以下内容 # _*_coding:utf-8_*_…

Flask开发微电影网站(三)

页面完成后的最终布局 电影视频网站首页面 会员登录页面 会员注册页面 点击退出和会员按钮&#xff0c;直接进入会员登录页面 视频播放页面 可以看到&#xff0c;页面共同的部分是顶部导航和底部导航 所以我们可以把页面顶部导航和底部导航部分单独定义一个文件home.html&#…

Flask开发微电影网站(四)

会员中心页面&#xff0c;如下图所示 用户登录后&#xff0c;修改密码页面&#xff0c;如下图所示 用户查看自己的评论页面&#xff0c;如下图所示 用户查看自己的登录日志页面&#xff0c;如下图所示 用户查看自己收藏的电影的页面&#xff0c;如下图所示 1. 定义用户主页面左…