- 浏览: 1514146 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (595)
- Java咖啡厅 (208)
- IT杂侃 (23)
- 程序员笑话 (7)
- 我的后现代文学 (1)
- WEB编程 (116)
- 软件评测 (8)
- 操作系统 (3)
- 炫目Ruby (2)
- 行业知识 (7)
- 我的动漫情结 (6)
- 其他 (8)
- Window DIY (6)
- 古文学 (3)
- 转载文章 (2)
- IT百科 (7)
- 动态网页Active (1)
- 文档 (1)
- 设计理论 (11)
- .NET 快速开发 (18)
- 英语学习 (6)
- 网站分析 (2)
- 开源软件 (4)
- 数据库 (28)
- 笔记 (4)
- 源代码共享 (8)
- IT人物 (2)
- 软件管理 (10)
- 小说创作 (0)
- 大众软件 (12)
- 网站评论 (3)
- 小虾乱说 (10)
- 游戏 (8)
- 心情 (3)
- 娱乐休闲 (2)
- Delphi编程 (1)
- PHP编程 (4)
- 中间件 (2)
- 移动开发 (2)
- Office应用 (2)
- Photoshop (1)
- Eclipse (5)
- 面试题 (1)
- 手机评测 (0)
- VBScript (1)
- WEB前端-EXT (3)
- 吐槽 (1)
- Java咖啡厅 Ibatis (1)
- javascript Ext (1)
- jquery ui (1)
- require (1)
- WEB编程 Javascript (1)
- jquery (1)
- Swing (1)
- 分布式 (1)
最新评论
-
zhangjihao:
28. 下面哪个Set是排序的? A. LinkedHas ...
Java面试题(选择题) -
zhangthe9:
ICMP报文被封装在IP包里,也就是说他是由IP协议承载的,从 ...
Java面试题(选择题) -
zhunengfei:
真的假的?
自已写的jquery ui框架 -
white_crucifix:
少年,发烫是所有智能手机的特点,而莫名发烫是所有安卓手机的特点 ...
【吐槽】三星手机的OS是一砣屎 -
suzu88:
试了一下,可以用。如果美化一下控件和窗体更有意思。
一个用XML构建Swing视图的框架
1.在web.xml中配置一个过滤器
首先,我们要在web.xml中设置一个过滤器,这样用户访问所有的页面的时候都必须先登陆。
过滤器的设置代码如下:
<filter> <description>登陆过滤器</description> <display-name>loginFilter</display-name> <filter-name>loginFilter</filter-name> <filter-class>com.tntxia.filter.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>loginFilter</filter-name> <url-pattern>*</url-pattern> </filter-mapping> <filter-mapping>
其中url-pattern属性我们设置的为:*,表示所有的请求都会被这个过滤器所过滤。
2. 设置Struts
设置struts-config.xml
A.增加一个FormBean:UserForm
<form-bean name="userForm" type="com.tntxia.struts.form.UserForm" />
B.增加一个登陆的Action
<action attribute="userForm" input="/login.jsp" name="userForm" path="/login" scope="request" type="com.tntxia.struts.action.LoginAction"> <forward name="/success" path="/uploadPhoto.jsp" /> </action>
3.UserForm类的代码:
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.tntxia.struts.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * MyEclipse Struts * Creation date: 06-21-2009 * * XDoclet definition: * @struts.form name="userFormForm" */ public class UserForm extends ActionForm { /** * */ private static final long serialVersionUID = -9144040556996550030L; /* * Generated fields */ private String userId; private String password; /** * Method validate * @param mapping * @param request * @return ActionErrors */ public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub return null; } /** * Method reset * @param mapping * @param request */ public void reset(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
4.LoginAction的代码:
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.tntxia.struts.action; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.Map; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.upload.FormFile; import com.tntxia.db.util.DBUtil; import com.tntxia.struts.form.PhotoForm; /** * MyEclipse Struts * Creation date: 06-21-2009 * * XDoclet definition: * @struts.action validate="true" */ public class UploadFileAction extends Action { /* * Generated Methods */ /** * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { PhotoForm userForm = (PhotoForm)form; FormFile file = userForm.getPhoto(); try{ UUID uuid = UUID.randomUUID(); String pre = uuid.toString(); String ext = file.getFileName().substring(file.getFileName().lastIndexOf(".")); File saveFile = new File(this.getServlet().getServletContext().getRealPath("/")+"\\upload",pre+ext); InputStream in = file.getInputStream(); FileOutputStream out = new FileOutputStream(saveFile); int len = 0; byte[] buf = new byte[1024]; while((len = in.read(buf))!=-1){ out.write(buf,0,len); } in.close(); out.close(); response.setContentType("text/html;charset=GBK"); response.getWriter().print(file.getFileName()); ArrayList<String> params = new ArrayList<String>(); params.add(userForm.getName()); params.add(pre+ext); DBUtil.executePreparedSQL("insert into photo(name,fileName) values(?,?)", params); ArrayList<String> cols = new ArrayList<String>(); cols.add("name"); cols.add("fileName"); Map<String,ArrayList<String>> result = DBUtil.getArrayResult(cols, "select * from photo"); request.setAttribute("result", result); }catch(Exception e){ e.printStackTrace(); } return mapping.findForward("/success"); } }
5. 登陆过滤器的代码:
package com.tntxia.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class LoginFilter implements Filter { public void destroy() { // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; HttpSession session = req.getSession(); String uri = req.getRequestURI(); if(uri.indexOf("login.jsp")!=-1||uri.indexOf("login.do")!=-1){ chain.doFilter(request, response); }else if(session.getAttribute("userId")!=null){ chain.doFilter(request, response); }else{ res.sendRedirect("login.jsp"); } } public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } }
发表评论
-
原创程序- Web版数据库管理
2017-11-15 00:39 1196这是我自已写的Web版的数据库管理工具,主要是依赖于JDBC ... -
Eclipse创建Web项目
2017-07-29 10:53 7881. 打开创建Web项目的对话框 2 ... -
Ant常用的命令
2016-06-16 13:31 13601. 使用Ant生成War包: <war ... -
在Eclipse上使用Ant发布项目
2015-10-17 15:03 1388这里笔者使用是Eclip ... -
Resin中增加一个虚拟目录的方法
2015-09-13 12:53 1134打开resin.config 找到到<h ... -
一个用XML构建Swing视图的框架
2015-09-06 23:12 2616平常想用Java写一些 ... -
Eclipse常见问题
2015-08-24 19:41 753如果Eclipse被强制关闭时,Tomcat可能没有 ... -
Spring Tools Suite 入门教程
2015-05-09 09:15 0Spring Tools Suit,这里简称STS,是 ... -
使用FTP的方法
2015-03-01 17:49 10391. FlashFXP 收费的软件,但是比较好 ... -
关于Spring
2015-02-16 14:46 2018Spring是一个轻量级J2EE框架。 Sp ... -
用Java实现发送邮件到163
2014-12-28 14:50 3865/* 在java版经常看到有人问如何用javamai ... -
Hibernate入门
2014-12-27 01:34 937前言 使用面向对象的语言和关系型的数据库,开 ... -
修改date.toLocaleString()的警告
2014-10-15 11:31 2566我们在写程序的时候,经常要查看时间,所以我们经常会用到 ... -
Java基础题 -- 简述题
2014-04-26 13:44 737(1)简述Java的运行机制 答案:Java语言根 ... -
Java基础题 -- 填空题
2014-04-26 10:00 18971. ______是一个抽象的计算机,和实际的计算机一样, ... -
FreeMaker入门
2014-04-07 19:51 1026第一章 简介 1 什么是FreeMaker ... -
jdk8 新语法
2014-04-01 23:32 1291import java.util.*; public ... -
MyBatis 入门
2014-03-27 23:31 1729每个MyBatis的中心是SqlSessionFact ... -
Jetty入门
2014-02-26 23:48 1611Jetty是一个简易的WebServer框架,使用 ... -
用Swing做的H2管理器
2014-02-24 23:07 1578MainFrame 继承了 JFrame , 增加c ...
相关推荐
总的来说,"struts2实现用户登录注册"项目涵盖了Web开发中的多个关键点:前端表单处理、后端业务逻辑、数据库交互以及安全性考虑。通过实践这个项目,开发者可以深入理解Struts2框架的工作原理,以及如何在实际开发...
本项目以"用Struts实现用户登录"为主题,旨在帮助初学者入门Struts框架,理解其基本工作原理和配置过程。 首先,我们要了解Struts框架的核心概念。MVC模式是软件设计中的一个经典模式,它将应用程序分为三个主要...
总结来说,使用Struts 1.2实现用户登录涉及到了MVC架构的理解,Struts配置文件的编写,ActionForm和Action类的设计,以及数据库操作和错误处理。虽然现代Web开发更倾向于Spring Boot和前端框架,但掌握Struts的基础...
本文将深入探讨如何利用Struts2来实现用户登录功能,这对于任何Web应用来说都是基础且至关重要的部分。 首先,要理解Struts2的工作原理。Struts2框架的核心是Action类,它处理来自用户的请求,并通过...
使用Struts 1.2实现用户注册涉及到了框架的基本配置、表单提交、服务器端验证、数据库操作和异常处理等多个环节。理解并熟练掌握这些知识点,对于开发Java Web应用是非常重要的。在实际项目中,我们还需要关注代码的...
在这个“struts2登录注册简单实现”的项目中,我们将深入探讨Struts2如何帮助我们实现用户登录和注册的核心功能。 1. **Struts2框架基础** Struts2是Apache软件基金会的一个开源项目,它继承了Struts1的优点并吸收...
这个"用Struts2实现的最简单的用户登录"示例旨在展示如何利用Struts2框架构建一个基本的用户登录系统。 首先,Struts2的核心是Action类,它是处理用户请求的中心。在这个例子中,我们需要创建一个名为`LoginAction`...
在这个场景中,我们将深入探讨如何使用MyEclipse工具来实现一个基于Struts的登录功能。 首先,我们需要了解Struts框架的核心组件和工作原理。Struts框架主要由以下部分组成: 1. **Action类**:这是业务逻辑处理的...
基于Struts2和Hibernate实现登录和注册功能 Struts2是一款基于MVC模式的Java Web应用程序框架,主要用于开发Web应用程序。Hibernate则是一款基于Java的持久层框架,主要用于将Java对象映射到关系数据库中。通过结合...
在Java Web开发中,"Struts+Hibernate实现用户登录案例"是一个常见的应用场景,它结合了两个重要的技术框架:Struts和Hibernate。Struts是MVC(Model-View-Controller)设计模式的一种实现,用于处理用户的请求和...
在Struts实现用户登录时,通常涉及以下几个关键组件: 1. **ActionForm**: 这是Struts中的表单对象,用于封装来自HTML表单的数据。在用户登录场景下,ActionForm类会包含用户名和密码字段。 2. **ActionServlet**:...
在"Struts技术实现用户登录"这个主题中,我们将深入探讨如何使用Struts来设计和实现一个简单的用户登录系统。 首先,用户登录界面是用户与系统交互的首要入口。在Struts框架中,通常会创建一个JSP页面作为视图...
在“struts技术实现留言功能”这一主题中,我们将深入探讨如何使用Struts框架来实现网站的留言和发帖功能。 首先,我们需要理解Struts的工作原理。Struts基于Model-View-Controller(MVC)设计模式,将业务逻辑、...
在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...
基于javaWeb MVC模式,借助struts2框架编写,实现用户简单的注册与登录功能。 1.本demo严格按照MVC的分层模式采用myeclipse编写,可直接运行,服务器为tomcat,数据库为mysql。 2.数据库操作使用c3p0连接池和dbtuils...
本示例项目是关于Struts1的登录功能实现,通过这个实例,我们可以深入理解Struts1的工作流程和业务处理方式。 首先,让我们来探讨一下Struts1的核心组件: 1. **Action类**:在Struts1中,Action类是业务逻辑的...
在本文中,我们将深入探讨如何使用Struts实现用户登录功能。 首先,了解Struts的基础架构至关重要。Struts遵循Model-View-Controller(MVC)设计模式,将业务逻辑、数据展示和用户交互分离,提高了代码的可维护性和...
在 Struts1 中实现用户登录功能通常包括以下几个步骤: 1. **创建表单类**:首先需要定义一个表单类(例如 `LoginForm`),该类用于封装用户输入的数据。 2. **创建 Action 类**:接着定义一个 Action 类(例如 `...
本资源通过Struts框架实现了分页功能,主要涉及到以下几个关键知识点: 1. **MVC设计模式**:MVC模式将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。模型负责处理业务逻辑,视图...
本教程将详细介绍如何使用Struts2的拦截器来实现用户权限登录功能。 ### 一、拦截器的原理与作用 1. **原理**:拦截器工作在Action调用之前,它通过观察者模式实现,当一个请求到达时,会按照配置的顺序依次执行...