网站用户登录验证:Servlet+JSP VS Struts书剑恩仇录

news/2024/5/15 20:21:31/文章来源:https://blog.csdn.net/weixin_33935505/article/details/85017917
? 什么是Struts框架
–从不同的角度看待Struts框架
–Struts框架的优点

? 下载安装Struts框架
–下载配置Struts框架
–测试Struts框架
–安装Struts应用程序
–访问Struts文档

? Struts 中常用组件
–ActionServlet
–Action
–ActionForm
–ActionMapping
–ActionForward

? 实例
–以登录为例,比较servlet+jsp和Struts的区别和联系
-----------------------------START-----------------------------------
什么是Struts框架(从不同的角度看待Struts框架)
? 一个MVC设计模式框架?
–Struts为使用Servlet和JSP来开发Web应用程序提供了一个统一的框架
? 一个工具集合?
–Struts 提供了一系列工具集合,来处理Web开发中的常见任务
? 一个自定义标签工具集合?
–Struts提供了一系列标签,包括html、表单、bean、条件判断等
?仁者见仁,智者见智
–但是Struts框架,最核心的称呼还应该是MVC框架
--------------------------NEXT----------------------------------------
Struts 框架的优点
? 基于配置文件的松耦合
–在Struts框架中的通常类都被配置在一个配置文件当中(如:Action、Formbean、ActionForward等),和写在Java程序里的硬代码相比,耦合性降低了很多,在Servlet当中一般页面的跳转被写在Java程序当中,例如:request.getRequestDispatcher(“somepage”).forward(request,resp
onse);

? Formbean的强大功能
–在传统的Servlet+JSP当中,验证信息的重新显示必须有程序员来设置, 但是在Struts当中Formbean解决了这个问题。
? 集中的验证
–Struts提供的标签
? 基本html标签
? form表单标签
? bean标签
? 逻辑标签

? Struts的其他优点
–对国际化的支持、声明式异常处理等。
----------------------------NEXT-----------------------------------
下载配置Struts框架
? Struts 框架的下载站点
http://jakarta.apache.org/site/binindex.cgi
http://jakarta.apache.org/struts
? 解压下载包,了解Struts的目录结构
–Lib:jar文件
–Webapps:web应用程序
安装Struts应用程序
? 安装struts-blank.war
–将该压缩包拷贝到tomcat的webapps目录下,重新启动tomcat,访问该工程:
http://localhost:8080/struts-blanck
image
? 安装struts-documentation.war
–将该压缩包拷贝到tomcat的webapps目录下,重新启动tomcat,访问该工程:
http://localhost:8080/struts-documentation
image
image
image
------------------------NEXT--------------------------------
Struts 中的组件介绍
? ActionServlet
–Struts中的大控制器
–Struts框架的入口
–是对Servlet的封装,被配置在web.xml配置文件当中

? Action
–小控制器,处理具体的业务逻辑用例
? ActionForm
–和表单对应的一个特殊的JavaBean,是一个“邮递员”在控制器和页面之间传递数据,也提供了一个集中的验证方法
? ActionMapping
–从Struts配置文件中读取配置信息
? ActionForward
–页面之间的跳转
------------------------------NEXT--------------------------------------
Struts 实例(以用户登录为例)
? Servlet+JSP 版本的登录

–为了比较servlet+jsp和Struts的区别与联系,我们首先看一下servlet+jsp如何创建用户登录
login.jsp
image
successfull.jsp
image
failure.jsp
image
LoginServlet.java
image
测试:
redking帐号登录
image
登录成功!
image
非redking帐号登录
image
登录失败
image
-------------------------------------NEXT--------------------------------
下面通过数据库查询来验证用户登录哈~
DB
image
UserDao.java
image
UserDaoImpl.java
image
LoginServlet.java
package com.redking.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 javax.servlet.http.HttpSession;    

import com.redking.dao.UserDao;    
import com.redking.dao.impl.UserDaoImpl;    
import com.redking.vo.User;    

public class LoginServlet extends HttpServlet {    

        /**    
         * Constructor of the object.    
         */
    
        public LoginServlet() {    
                super();    
        }    

        /**    
         * Destruction of the servlet. <br>    
         */
    
        public void destroy() {    
                super.destroy(); // Just puts "destroy" string in log    
                // Put your code here    
        }    

        /**    
         * The doGet method of the servlet. <br>    
         *    
         * This method is called when a form has its tag value method equals to get.    
         *    
         * @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 doGet(HttpServletRequest request, HttpServletResponse response)    
                        throws ServletException, IOException {    

                doPost(request,response);    
        }    

        /**    
         * 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 {    

                String username = request.getParameter("username");    
                String password = request.getParameter("password");    
                /*    
                if(username!=null&&username.equals("redking")){    
                        request.setAttribute("username", username);    
                        request.getRequestDispatcher("/pages/successfull.jsp").forward(request, response);    
                }else{    
                        request.getRequestDispatcher("/pages/failure.jsp").forward(request, response);    
                }    
                */
    
                UserDao dao = new UserDaoImpl();    
                User u = dao.login(username, password);    
                HttpSession session = request.getSession();    
                if(u!=null){    
                        session.setAttribute("user", u);    
                        request.getRequestDispatcher("/pages/successfull.jsp").forward(request, response);    
                }else{    
                        request.getRequestDispatcher("/pages/failure.jsp").forward(request, response);    
                }    
        }    

        /**    
         * Initialization of the servlet. <br>    
         *    
         * @throws ServletException if an error occurs    
         */
    
        public void init() throws ServletException {    
                // Put your code here    
        }    

}
UserDaoImplTest.java
image
ConnectionUtil.java
image
SQLConstants.java
package com.redking.util;    

public interface SQLConstants {    
        public static final String USER_LOGIN_SQL = " select id,username,password from UserTbl " + " where username= ? and password = ? ";    
}
User.java
image
DBConfig.properties
image
login.jsp
image
successfull.jsp
image
failure.jsp
image
测试:
image
登录成功
image
测试数据库中没有的用户登录试试
image
测试结果
image
现在我们将51cto帐号加入DB再测试
image
51cto帐户重新登录
image
测试结果
image
--------------------------------NEXT-------------------------------------
? 使用Struts来开发用户登录
–将Struts添加到上述存在的工程,看一下Struts是怎么样运行的。
加载Struts框架所需JAR包,加载到工程的LIB目录中
image
image
image
导入ActionServlet配置文件
image
image
松耦合配置文件Struts-config.xml
image
image
image
image
image
生成最基本的配置模板
image
LoginAction.java
image
login.jsp
image
web.xml
image
测试:
image
登录成功
image
再次测试错误密码
image
登录失败
image
---------------------------------END-----------------------------------

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

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

相关文章

网站防御DDoS的方案--高防节点(高防IP)

原文网址&#xff1a;网站防御DDoS的方案--高防节点(高防IP)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何使用高防节点防御DDoS攻击。 本文包含的内容有&#xff1a;DDos的概念&#xff0c;高防节点的防御原理&#xff0c;提供高防节点的一些厂家&#xff0c;高防节点的配置…

linux 部署asp网站,Linux Ubuntu下部署Asp.net Core Web

Linux Ubuntu下部署Asp.net Core WebLinux Ubuntu下部署Asp.net Core Web使用的是Ubuntu14.04版本&#xff0c;.Net Core 版本2.1打开终端并运行以下命令&#xff1a;wget -q https://packages.microsoft.com/config/ubuntu/19.04/packages-microsoft-prod.deb -O packages-mic…

UX Pin - 一款在线界面设计网站

UXPorn首页上以Pinterest的风格聚合了很多优秀的UI设计&#xff0c;除了供大家参考学习外&#xff0c;也可以在UXPIN App中直接使用。 进入UXPIN App, 可以拖动各种元素到canvas上&#xff0c;添加用户交互事件&#xff0c;并支持自定义component, version control, team colla…

方配网站服务器 32位,方配网站服务器

方配网站服务器 内容精选换一换当您想在Internet上通过域名访问您的网站时&#xff0c;可以通过本操作将域名托管至华为云的云解析服务&#xff0c;并为域名添加解析记录。例如&#xff0c;搭建一个网站服务器&#xff0c;采用IPv4格式的弹性IP地址。如果想要实现通过域名“exa…

php网站怎么把上传的图片加载在头像上,JavaScript

js实现图片上传并正常显示项目经常会用到头像上传&#xff0c;那么怎么实现呢&#xff1f;首先是HTML布局&#xff1a;缩略图jquery方式&#xff0c;IE不支持&#xff0c;但IE会获得绝对的上传路径信息&#xff1a;function getObjectURL(file) {var url null ;if (window.cre…

b2c 多语言,3个可以让B2C外贸网站更成功的设计

让B2C外贸网站更具备竞争力&#xff0c;也可以从网站上的细节入手。人类是一种很复杂的动物&#xff0c;一些小设计往往能够直达内心&#xff0c;引导他们做出购买行为。下面5个小设计希望能够引起路过的电商朋友一些启发。行为召唤Call To Action充斥在各种购物环境中&#xf…

php手机网站视频上传播放器,TP中PC与手机端视频播放功能二次开发

原标题&#xff1a;TP中PC与手机端视频播放功能二次开发在使用ThinkPHP进行长沙网站开发中&#xff0c;发现新闻中的视频文件都不能正常播放。在DWPCMS开发的项目中存在同样问题&#xff0c;但PC端能正常播放。DWPCMS和TP的视频播放都是使用flash播放器&#xff0c;但Android(安…

360抢票 网站维护中 你的登录被踢了!

本来在超市犹豫到底该买哪种暖手袋&#xff0c;犹豫了差不多半个多小时&#xff0c;还没决定好&#xff0c;一看时间还有8分钟到10点&#xff0c;遂狂奔回寝室抢票。 结果&#xff0c;360抢票被12306秒了—— 猜测原因是12306的验证码改了&#xff08;变成动态的了……&#xf…

win2008服务器运行Linux,Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站...

前言App Store上的所有App应用以后将鼓励或者强制开启ATS功能。苹果的ATS(App Transport Security)对服务器硬性3点要求&#xff1a;① ATS要求TLS1.2或者更高&#xff0c;TLS 是 SSL 新的别称。② 通讯中的加密套件配置要求支持列出的正向保密。③ 数字证书必须使用sha256或者…

体验游戏编程网站

最近学习python&#xff0c;想要找点练习&#xff0c;在看《python核心编程》&#xff08;真是一本好书&#xff0c;非常详细&#xff0c;觉得看这一本书就够了&#xff0c;余下可以翻翻文档&#xff09;。觉得cf之类的虽然能用python提交但是重点不是在学习python上 。终于找到…

如何构建一个优秀的移动网站?谷歌专家教你25招(五)[转]

▌21、你的产品图像需要支持大图显示 顾客想要看看自己买的产品。在零售网站上&#xff0c;用户希望可以看到分辨率更高的产品图片&#xff0c;这样可以看到更多细节&#xff0c;如果网站不支持产品大图显示&#xff0c;肯定会让用户觉得非常失望。 关键要素&#xff1a;对于产…

Vue--解决官网网站404的问题

原文网址&#xff1a;Vue--解决官网网站404的问题_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Vue官网打开之后404的问题。 问题描述 之前收藏了Vue的官网网址&#xff0c;结果现在打开发现404了&#xff0c;如下图所示&#xff1a; 上图的网址是&#xff1a;https://cn.vuejs.…

虚拟服务器是否能查访问网站记录,服务器可以查询记录吗

服务器可以查询记录吗 内容精选换一换资源管理服务(Resource Management Service&#xff0c;简称“RMS”)为用户提供进行全局资源管理的能力&#xff0c;用户可以通过RMS来检索、存储、评估自己在云平台上的资源。裸金属服务器(Bare Metal Server&#xff0c;以下简称BMS)提供…

做好数据库备份、网站备份很重要

2019独角兽企业重金招聘Python工程师标准>>> 对于服务器、网站管理员来说&#xff0c;数据库文件、网站文件的管理是一个重要的工程&#xff0c;他们每天都要耗费大量的精力和时间来管理海量的数据。但是&#xff0c;在管理过程中&#xff0c;总会出现一些大家无法预…

PayPal 开发详解(三):在网站上创建【立即付款】按钮

PayPal 开发详解&#xff08;三&#xff09;&#xff1a;在网站上创建【立即付款】按钮 1.使用【商家帐号】登录https://www.sandbox.paypal.com/ 2.点击【用户信息】->【其他选项】->【我保存的按钮】 3.选择【立即购买按钮事例】 4.【第一步】设置商品名称、价格 5.【…

生产环境Mysql数据库备份脚本,Linux下网站数据定期自动备份与删除脚本,Windows下备份网站目录和数据库...

在数据库的日常维护工作中&#xff0c;除了保证业务的正常运行以外&#xff0c;就是要对数据库进行备份&#xff0c;以免造成数据库的丢失&#xff0c;从而给企业带来重大经济损失。通常备份可以按照备份时数据库状态分为热备和冷备&#xff0c;按照备份数据库文件的大小分为增…

总结1:学校工作室项目--我家菜市(后台网站)

1、网页效果展示 商品信息编辑页 商品列表管理页 商品评论管理页 商品消息编辑页 商品未发布消息管理页 商品已发布消息管理页 !商品已发布消息管理页2、后台网页框架搭建 这个系列的网页都可看做由3个部分组成&#xff1a; 搭建步骤是&#xff1a;先分别实现由part 1(顶部 hea…

.Net Core MVC 网站开发(Ninesky) 2.2、栏目管理功能-System区域添加

在asp或asp.net中为了方便网站的结构清晰&#xff0c;通常把具有类似功能的页面放到一个文件夹中&#xff0c;用户管理功能都放在Admin文件夹下&#xff0c;用户功能都放在Member文件夹下&#xff0c;在MVC中&#xff0c;通常使用区域&#xff08;Areas&#xff09;来组织&…

网站的备份与重建

1.先将/var/www/html里的所有文件&#xff0c;备份mysql中的网站数据库并下载下来。 备份完成、 2.在进行重建的电脑上做好准备工作后&#xff0c;进入MYSQL创建用户与数据库 3.将bf.bak中的IP全部改为自己的IP 4.将html与bf.bak放入虚拟机。 5.将bf.bka导入进新建好的数据库。…

搭建centos6.7网站服务器记录

2019独角兽企业重金招聘Python工程师标准>>> 参考网址&#xff1a; http://www.111cn.net/sys/CentOS/63645.htmhttp://www.centoscn.com/CentOS/config/2015/1222/6562.htmlhttp://www.xshell.net/linux/xampp.html一、操作系统部分 1、操作系统centos6.7的安装 首…