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

news/2024/5/20 13:55:04/文章来源:https://blog.csdn.net/iteye_3753/article/details/82476995

一个简单的小例子,基于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")){//合法//跳转到welcomeres.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在相应位置新建文件夹,对应的文件放进去。


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

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

相关文章

你的网站会投放这样的广告么?

我震惊了&#xff0c;钱要赚&#xff0c;但为了公司名誉以及社会影响&#xff0c;就算是广告&#xff0c;能不能有个底线的啊&#xff1f;

怎么修复网站漏洞 骑士cms的漏洞修复方案

骑士CMS是国内公司开发的一套开源人才网站系统&#xff0c;使用PHP语言开发以及mysql数据库的架构&#xff0c;2019年1月份被某安全组织检测出漏洞&#xff0c;目前最新版本4.2存在高危网站漏洞&#xff0c;通杀SQL注入漏洞&#xff0c;利用该网站漏洞可以获取网站的管理员账号…

.Net网站不能预编译以及不能请求的调试过程

公司内部的一个网站&#xff0c;Aspx的&#xff0c;最近莫名其妙的出现一个问题&#xff1a; file soLog.aspx has not been pre-compiled,and cannot be requested. 这个问题只有在网站发布到服务器之后才会出现&#xff0c;本地一切正常&#xff0c;但不是每一个页面都有这一…

asp.net写的网站从1.1升级到2.0出现的错误,望各位救命!!!

asp.net从1.1升级到2.0出现的错误&#xff0c;望大侠救命&#xff01;&#xff01;我在将asp.net由1.1升级到2.0时网站程序编译通不过,错误提示为:错误 35 无法将类型"string"隐式转换为"System.Web.UI.WebControls.TextBox" D:\WebSite\Oyalife\Forum\blo…

构建高并发网站-网站架构(架构优化)

一、网站架构的角色1、基本架构2、网站架构升级&#xff0c;用户访问速度提高&#xff0c;提高用户体验CDN 解决南电信北联通网站访问慢问题&#xff0c;通过代理CDN缓存功能代理实现负载均衡功能web服务器存放音乐、图片、视频等存储无限扩大缓存解决数据库读写大、IO高&#…

网站性能优化 - 数据库及服务器架构篇

我先前曾写过三篇有关网站系统、ASP.NET 性能优化的文章&#xff0c;分别从 SQL 语句、数据库设计、ASP.NET 功能、IIS 7 的套件&#xff0c;来探讨此一性能议题。本帖算是系列作的第四篇&#xff0c;整理了一些我看过的书籍和文章&#xff0c;改从「负载均衡、服务器架构、数据…

3.2 找好图这些网站就够了

免费图库推荐 1.百度图片&#xff1a;特大尺寸。复制到ppt中&#xff0c;比例裁剪为16:9. 2.必应&#xff1a;有水印的话&#xff0c;直接裁剪掉。 3.全景网&#xff1a;已经无法使用 4.摄图网&#xff1a;http://699pic.com/tupian/chengshi.html 5.pixabay &#xff1a;h…

ppt素材网站

一、 PPTmall http://www.PPTmall.net/ 针对图表型 PPT 首选的素材网站&#xff0c;里面有大量的 PPT 图表模板 我们可以根据图表&#xff0c;逻辑&#xff0c;要素&#xff0c;颜色等分类快速选取素材 二、 演界网 http://www.yanj.cn/ 点击网站的【演示模板】——【免费专区…

色彩搭配 网站推荐

1、直接选择适合的颜色搭配&#xff0c;附有rgb值。 https://www.icoa.cn/a/512.html 2、可选择合适的色彩搭配。 http://www.360doc35.net/wxarticlenew/843127861.html 3、5款实用的配色工具 【最佳配色表(2019设计师最佳配色工具盘点)-哪吒游戏网】http://m.baigeseo.co…

python制作购物网站_python+Django创建购物网站(一)

1.凡事预则立不预则废。。工作七八个月&#xff0c;接触的全是Java&#xff0c;Java博大精深&#xff0c;到现在没学好。自己反而完全和python隔离了&#xff0c;再不练练&#xff0c;估计要废。2.下载安装pycharm社区版&#xff0c;因为免费&#xff0c;安装Django框架&#x…

springboot+mybatis+vue实战——旅游网站(一) 完成登录注册、验证码、省份增删改查功能

推荐文章&#xff1a; springboot整合redis并在项目中使用 vuespringboot 登录注册功能 目录一、创建数据库二、后端环境搭建三、实现验证码功能CreateImageCode .java新建UserController.java编写接口&#xff1a;/user/getImage效果&#xff1a;四、开发1、创建前端项目2、注…

Python爬虫网站图片并下载到本地

文章目录先看效果1、环境准备2、要爬取的网站3、程序源代码&#xff08;可直接运行&#xff09;先看效果 1、环境准备 import requests import re下载requests库&#xff1a; pip install requests2、要爬取的网站 https://www.hippopx.com3、程序源代码&#xff08;可直接运…

美国空军文化中心网站遭入侵 信息泄露

本文讲的是 : 美国空军文化中心网站遭入侵 信息泄露 , 日前&#xff0c;美国空军文化&语言中心(http://www.culture.af.mil)官方网站遭土耳其黑客Maxney入侵&#xff0c;并在网络公布了部分高度敏感的个人信息。 土耳其黑客组织Ajan的一位成员Maxney声称对此次入侵事件负…

威联通架设php网站_第14章 网站服务

一、概念HTML&#xff1a;HyperText Markup Language &#xff08; 超级 文本 标记 语言&#xff09;网页&#xff1a;使用HTML,PHP,JAVA语言格式书写的文件主页&#xff1a;网页中呈现用户的第一个页面网站&#xff1a;多个网页组合而成的一台网站服务器URL格式&#xff1a;在…

给自己的网站加入智能聊天功能

引言 现在突然发现有很多 QQ 群都开启了群机器人的功能&#xff0c;其中有两个角色&#xff0c;他们分别是&#xff1a;Baby Q 和 QQ 小冰。在 Q 群中&#xff0c;你可以对他们进行任意程度的调戏&#xff0c;不过&#xff0c;遗憾的是鱼和熊掌不可得兼&#xff0c;一个群只能进…

如何在IIS7上部署本地网站

首先打开计算&#xff0c;点击”卸载或更改程序“&#xff0c;如图&#xff1a; 然后点击&#xff1a; 之后就看到里面有个”Internet信息服务“将里面的所有选项最好都打上勾 勾完之后点击【确定】&#xff0c;会提示&#xff1a; 过几分钟就IIS安装好了 然后在【控…

怎样将IIS Express里面的网站能在局域网访问

先运行web项目&#xff0c;点击IIS Express里面运行的当前项目&#xff0c;然后能看到下面的配置路径&#xff0c;点击它&#xff0c;可以跳转到配置文件 修改配置文件的bindings节点&#xff0c;在原有的&#xff0c;比如“ <binding protocol"http" bindingInfo…

本地IIS浏览网站出现503错误

本地出现这个错误&#xff0c;修改IIS里面对应网站应用程序池的高级属性&#xff0c;改为如图所示的属性&#xff1a;

网站点击流数据分析项目----之现学现卖

1&#xff1a;网站点击流数据分析项目推荐书籍&#xff1a; 可以看看百度如何实现这个功能的&#xff1a;https://tongji.baidu.com/web/welcome/login 1 网站点击流数据分析&#xff0c;业务知识&#xff0c;推荐书籍&#xff1a; 2 《网站分析实战——如何以数据驱动决策&…

oracle网站爬数据,利用Powerquery,Excel也可以轻松网上爬取数据了

Powerquery在PowerBI和Excel种的操作类似&#xff0c;以下以PowerBI Desktop操作为例&#xff0c;你也可以直接从Excel种操作&#xff0c;数据的获取上不仅支持微软自己的数据格式&#xff0c;比如Excel、SQL Server、Access等;还支持SAP、Oracle、MySQL、DB2等几乎能见到的所有…