简单的SSH整合登录注册

基于ssh框架构建的用户管理系统(二) 目录程序的调试和运行情况的简述登陆注册页面的调试用户信息增加的调试用户信息查看的调试用户信息修改的调试用户信息删除的调试源码 通过上一篇文章提到了用户管理系统的代码编写部分,这篇文章主要是根据代码进行系统的测试和调试,以及附上源代码。 程序的调试和运行情况的简述 登陆注册页面的调试 首先就是注册用户 然后返回登陆界面,会提示“注册成功,请登陆”对话框 如图就来到了系统主界面,即完成了登陆注册功能的调试。 用户信息增加的调试 首先查看数据 然后点击左边的增加用户功能 提交后再点击查询界面,就能看到s 阅读详情

1.这里用的是struts2+spring2+hibernate3.1。用到user表
2.请确定jar包不要重复。
3.用到了struts2的validation框架。spring的配置文件applicationContext.xml,如果启动fwq发现无法加载此配置,请放置到WEB-INF下。hibernate通过映射关联表格,和字段。如果出现不能为空的错误,请在user.hbm.xml中检查字段属性和配置属性有否冲突。比如:
  1. <property name="registime" type="timestamp">  
  2.             <column name="registime" length="0" not-null="false" />  
  3.         </property>  
  1. <property name="registime" type="timestamp">  
  2.             <column name="registime" length="0" not-null="false" />  
  3.         </property>  

时间輚不能为空的。
从数据库开始说起。
一,设计方式接口——实现类(这里用的是老紫竹留言本的数据库部分代码)
接口实现如干方法,实现类实现接口中的所有方法。
二,
  1. <hibernate-configuration>  
  2.   
  3. <session-factory>  
  4.     <property name="show_sql">true</property>  
  5.     <property name="myeclipse.connection.profile">Myway</property>  
  6.     <property name="connection.url">  
  7.         jdbc:mysql://localhost:3306/myway   
  8.     </property>  
  9.     <property name="connection.username">root</property>  
  10.     <property name="connection.password">1</property>  
  11.     <property name="connection.driver_class">  
  12.         com.mysql.jdbc.Driver   
  13.     </property>  
  14.     <property name="dialect">  
  15.         org.hibernate.dialect.MySQLDialect   
  16.     </property>  
  17.     <property name="current_session_context_class">thread</property>  
  18.     <mapping resource="myway/po/User.hbm.xml" />  
  19.   
  20. </session-factory>  
  21.   
  22. </hibernate-configuration>  
  1. <hibernate-configuration>  
  2.   
  3. <session-factory>  
  4.     <property name="show_sql">true</property>  
  5.     <property name="myeclipse.connection.profile">Myway</property>  
  6.     <property name="connection.url">  
  7.         jdbc:mysql://localhost:3306/myway  
  8.     </property>  
  9.     <property name="connection.username">root</property>  
  10.     <property name="connection.password">1</property>  
  11.     <property name="connection.driver_class">  
  12.         com.mysql.jdbc.Driver  
  13.     </property>  
  14.     <property name="dialect">  
  15.         org.hibernate.dialect.MySQLDialect  
  16.     </property>  
  17.     <property name="current_session_context_class">thread</property>  
  18.     <mapping resource="myway/po/User.hbm.xml" />  
  19.   
  20. </session-factory>  
  21.   
  22. </hibernate-configuration>  

以上是hibernate.cfg.xml的配置
  1. <property name="current_session_context_class">thread</property>  
  1. <property name="current_session_context_class">thread</property>  

这句必须有。不然会报错。如果不加上对应的是实现类中的错误。
三,表的映射关系
类似javabean的一个类文件,属性对应表中的字段,一个实例对应一条记录。

  1. <hibernate-mapping>  
  2.     <class name="myway.po.User" table="user" catalog="myway">  
  3.         <id name="id" type="integer">  
  4.             <column name="id" />  
  5.             <generator class="assigned"></generator>  
  6.         </id>  
  7.         <property name="userid" type="string">  
  8.             <column name="userid" length="50" not-null="true" />  
  9.         </property>  
  10.         <property name="userpwd" type="string">  
  11.             <column name="userpwd" length="50" />  
  12.         </property>  
  13.         <property name="userques" type="string">  
  14.             <column name="userques" length="50" />  
  15.         </property>  
  16.         <property name="userans" type="string">  
  17.             <column name="userans" length="50" />  
  18.         </property>  
  19.         <property name="usermail" type="string">  
  20.             <column name="usermail" length="50" />  
  21.         </property>  
  22.         <property name="integral" type="integer">  
  23.             <column name="integral" />  
  24.         </property>  
  25.         <property name="grade" type="integer">  
  26.             <column name="grade" />  
  27.         </property>  
  28.         <property name="sex" type="string">  
  29.             <column name="sex" length="8" />  
  30.         </property>  
  31.         <property name="schoolname" type="string">  
  32.             <column name="schoolname" length="50" />  
  33.         </property>  
  34.         <property name="birthday" type="string">  
  35.             <column name="birthday" length="50" />  
  36.         </property>  
  37.         <property name="realname" type="string">  
  38.             <column name="realname" length="50" />  
  39.         </property>  
  40.         <property name="nicheng" type="string">  
  41.             <column name="nicheng" length="50" />  
  42.         </property>  
  43.         <property name="personalhobby" type="string">  
  44.             <column name="personalhobby" length="50" />  
  45.         </property>  
  46.         <property name="otherinfo" type="string">  
  47.             <column name="otherinfo" length="200" />  
  48.         </property>  
  49.         <property name="registime" type="timestamp">  
  50.             <column name="registime" length="0" not-null="false" />  
  51.         </property>  
  52.     </class>  
  53. </hibernate-mapping>  
  1. <hibernate-mapping>  
  2.     <class name="myway.po.User" table="user" catalog="myway">  
  3.         <id name="id" type="integer">  
  4.             <column name="id" />  
  5.             <generator class="assigned"></generator>  
  6.         </id>  
  7.         <property name="userid" type="string">  
  8.             <column name="userid" length="50" not-null="true" />  
  9.         </property>  
  10.         <property name="userpwd" type="string">  
  11.             <column name="userpwd" length="50" />  
  12.         </property>  
  13.         <property name="userques" type="string">  
  14.             <column name="userques" length="50" />  
  15.         </property>  
  16.         <property name="userans" type="string">  
  17.             <column name="userans" length="50" />  
  18.         </property>  
  19.         <property name="usermail" type="string">  
  20.             <column name="usermail" length="50" />  
  21.         </property>  
  22.         <property name="integral" type="integer">  
  23.             <column name="integral" />  
  24.         </property>  
  25.         <property name="grade" type="integer">  
  26.             <column name="grade" />  
  27.         </property>  
  28.         <property name="sex" type="string">  
  29.             <column name="sex" length="8" />  
  30.         </property>  
  31.         <property name="schoolname" type="string">  
  32.             <column name="schoolname" length="50" />  
  33.         </property>  
  34.         <property name="birthday" type="string">  
  35.             <column name="birthday" length="50" />  
  36.         </property>  
  37.         <property name="realname" type="string">  
  38.             <column name="realname" length="50" />  
  39.         </property>  
  40.         <property name="nicheng" type="string">  
  41.             <column name="nicheng" length="50" />  
  42.         </property>  
  43.         <property name="personalhobby" type="string">  
  44.             <column name="personalhobby" length="50" />  
  45.         </property>  
  46.         <property name="otherinfo" type="string">  
  47.             <column name="otherinfo" length="200" />  
  48.         </property>  
  49.         <property name="registime" type="timestamp">  
  50.             <column name="registime" length="0" not-null="false" />  
  51.         </property>  
  52.     </class>  
  53. </hibernate-mapping>  

以上是表的xml文件
(对数据库的操作通过po来实现)
下面是struts2部分。
一,
  1. <struts>  
  2. <constant name="struts.custom.i18n.resources" value="globalMessages"/>  
  3.   
  4. <constant name="struts.i18n.encodeing" value="UTF-8"/>  
  5.   
  6. <package name="Myway" extends="struts-default">  
  7.     <action name="zjreg" class="zjregisterAction">  
  8.         <result name="success" type="redirect" >/jsp/zjregisterinfo.jsp</result>  
  9.         <result name="input">/jsp/zjregister.jsp</result>  
  10.     </action>  
  11.        
  12.     <action name="login" class="loginAction">  
  13.         <result name="success" type="redirect">/my_foot.jsp</result>  
  14.         <result name="input"  type="redirect">/jsp/login.jsp</result>  
  15.        
  16.     </action>  
  17. </struts>  
  1. <struts>  
  2. <constant name="struts.custom.i18n.resources" value="globalMessages"/>  
  3.   
  4. <constant name="struts.i18n.encodeing" value="UTF-8"/>  
  5.   
  6. <package name="Myway" extends="struts-default">  
  7.     <action name="zjreg" class="zjregisterAction">  
  8.         <result name="success" type="redirect" >/jsp/zjregisterinfo.jsp</result>  
  9.         <result name="input">/jsp/zjregister.jsp</result>  
  10.     </action>  
  11.       
  12.     <action name="login" class="loginAction">  
  13.         <result name="success" type="redirect">/my_foot.jsp</result>  
  14.         <result name="input"  type="redirect">/jsp/login.jsp</result>  
  15.       
  16.     </action>  
  17. </struts>  

以上是struts.xml的部分配置(有于整合的spring本来action 后面的class是逻辑处理类的class文件,现在只是一个表示,这个表示用于spring识别这个action)
二,在action中通过提供一个上面的数据库操作接口的get方法,让spring调用的
  1. private UserService userservice;   
  2.        
  3.        
  4.     public void setUserservice(UserService userservice) {   
  5.         this.userservice = userservice;   
  6.     }  
  1. private UserService userservice;  
  2.       
  3.       
  4.     public void setUserservice(UserService userservice) {  
  5.         this.userservice = userservice;  
  6.     }  

类似这个样子。

action负责通过接口对象调用实现类完成登陆和注册功能,返回表示success,和input来转到不通的视图。

三,validation.xml更具不通的action类名字,来提供效验文件,这里提供的是LoginAction-validation.xml和ZjregisterAction-validation.xml
  1. <validators>  
  2.     <field name="username">  
  3.         <field-validator type="requiredstring">  
  4.             <param name="trim">true</param>  
  5.             <message>username should be write</message>  
  6.         </field-validator>  
  7.     </field>  
  8.   
  9.     <field name="username">  
  10.         <field-validator type="regex">  
  11.             <param name="trim">ture</param>  
  12.             <param name="expression"><![CDATA[(/w{6,15})]]></param>  
  13.             <message>username must between 6 and 15 and also </message>  
  14.         </field-validator>  
  15.     </field>  
  16.        
  17.         <field name="password">  
  18.         <field-validator type="requiredstring">  
  19.             <param name="trim">true</param>  
  20.             <message>password should be write</message>  
  21.         </field-validator>  
  22.     </field>  
  23.        
  24.     <field name="password">  
  25.         <field-validator type="regex">  
  26.             <param name="trim">ture</param>  
  27.             <param name="expression"><![CDATA[(/w{6,15})]]></param>  
  28.             <message>password must between 6 and 15 and also </message>  
  29.         </field-validator>  
  30.     </field>  
  31. </validators>  
  1. <validators>  
  2.     <field name="username">  
  3.         <field-validator type="requiredstring">  
  4.             <param name="trim">true</param>  
  5.             <message>username should be write</message>  
  6.         </field-validator>  
  7.     </field>  
  8.   
  9.     <field name="username">  
  10.         <field-validator type="regex">  
  11.             <param name="trim">ture</param>  
  12.             <param name="expression"><![CDATA[(/w{6,15})]]></param>  
  13.             <message>username must between 6 and 15 and also </message>  
  14.         </field-validator>  
  15.     </field>  
  16.       
  17.         <field name="password">  
  18.         <field-validator type="requiredstring">  
  19.             <param name="trim">true</param>  
  20.             <message>password should be write</message>  
  21.         </field-validator>  
  22.     </field>  
  23.       
  24.     <field name="password">  
  25.         <field-validator type="regex">  
  26.             <param name="trim">ture</param>  
  27.             <param name="expression"><![CDATA[(/w{6,15})]]></param>  
  28.             <message>password must between 6 and 15 and also </message>  
  29.         </field-validator>  
  30.     </field>  
  31. </validators>  

部分效验文件,虽然有这个文件,但strtus2还是会去访问action中的validate方法的。

spring部分
一,
  1. <bean id="userservice" class="myway.userinterface.imp.UserServiceHbimp"></bean>  
  2. <bean id="loginAction" class="myway.action.LoginAction" scope="prototype">  
  3.     <property name="userservice">  
  4.         <ref local="userservice"/>  
  5.     </property>  
  6. </bean>  
  7. <bean id="zjregisterAction" class="myway.action.ZjregAction" scope="prototype">  
  8.     <property name="userservice">  
  9.         <ref local="userservice"/>  
  10.     </property>  
  11. </bean>  
  12. </beans>  
  1. <bean id="userservice" class="myway.userinterface.imp.UserServiceHbimp"></bean>  
  2. <bean id="loginAction" class="myway.action.LoginAction" scope="prototype">  
  3.     <property name="userservice">  
  4.         <ref local="userservice"/>  
  5.     </property>  
  6. </bean>  
  7. <bean id="zjregisterAction" class="myway.action.ZjregAction" scope="prototype">  
  8.     <property name="userservice">  
  9.         <ref local="userservice"/>  
  10.     </property>  
  11. </bean>  
  12. </beans>  

就这些。
SSH实现页面的登录和注册功能 ssh实现页面登录和注册功能 数据库名:case 表名:user 立即下载

相关推荐

以ssh为后台框架实现的登录与注册

在实现web端登录注册时,以ssh为后台框架实现该功能

使用ssh框架写一个基本的登录注册页面

基于ssh框架的一个简单的登录注册页面,注册页面使用Ajax和jQuery检测用户名与注册邮箱。

lylyyg的专栏 4万+

SSH框架实现登录和注册

请只看登录和注册页面的,其他页面还在完善中

转 SSH框架搭建详细图文教程

原址:http://blog.sina.com.cn/s/blog_a6a6b3cd01017c57.html 什么是SSH? SSH对应 struts spring hibernatestruts 采用MVC模式,主要是作用于用户交互spring 采用IOC和AOP~作用比较抽象,是用于项目的松耦合hibernate 是对象持久化框架,其实就是实体类和数据库表建立关系,操作类就会触发相...

weixin_34198797的博客 2503

SSH实现简单的注册登录

实现简单的对数据库写入和读取功能,在Eclipse中可以直接运行

【web项目】SSH框架实现登录、注册、增删改查

100%可运行,注解详细,适合新手入门学习。解压后,将hq_ssh文件夹导入MyEclipse,阅读“如何运行.doc”。

快速搭建SSH框架,实现登录注册功能

快速搭建SSH框架 既然是快速,这里只会解释如果把这个项目跑起来,不会细讲如果做到的! 什么?你居然想学SSH?都9102年了,这个struct2的拦截器一直出岔子,毛病多。年纪轻轻,学什么不好[狗头] 点击下方跳转到本项目码云仓库地址 源代码仓库地址 下载后,将文件解压开来,因为.idea配置文件已上传,如果是IDEA,直接open文件夹即可。但是jdk和tomcat可能还需自行重新配置。 如...

[空白] 1280

数学建模灵敏性分析(一阶、二阶灵敏度)python代码+懒人专用版

对于勉强看懂了灵敏度分析的同学来说,本文给出一个方便移植、修改的python程序,可以很方便地进行灵敏度分析。

春江花朝秋月夜 1万+

SSH初步搭建(登录注册)

一:先随便建一个项目,为了方便架包的导入。(其实也可以不这样做) 在项目新建Add Spring Capabilities(Spring 3.1),勾选Spring3.1 前三个 Springlibraries add to buildpath .在项目新建一个Hibernate3.2 勾选Hibernate 3.2Core Libraries,下一步勾选Spring configure fi

MZ199290的博客 1020

PVE(Proxmox VE)添加VMware Esxi并迁移虚拟机

跨平台迁移虚拟机:从VMware虚拟化平台迁移虚拟机到PVE平台。

VEGETA的博客 7720

青少年C/C++软件编程(四级)等级考试真题及答案解析目录

3. 带通配符的字符串匹配。1. 怪盗基德的滑翔翼。3.最长公共子上升序列。4.宠物小精灵之收服。

长春高老师编程 3036

SSH框架---简单整合登录注册

1.这里用的是struts2+spring2+hibernate3.1。用到user表  2.请确定jar包不要重复。  3.用到了struts2的validation框架。spring的配置文件applicationContext.xml,如果启动fwq发现无法加载此配置,请放置到WEB-INF下。hibernate通过映射关联表格,和字段。如果出现不能为空的错误,请在user.hbm.xm

啊哈程序 1864

大模型——dify实战通过dify搭建你自己的图片识别服务

本文介绍了如何通过Dify平台搭建图片识别服务。首先创建工作流,添加支持图片上传的字段,并配置视觉模型qwen-vl-max-latest进行图像分析。文章详细说明了各步骤操作,包括字段设置、模型选择、提示词编写等。在测试阶段发现URL解析问题后,提供了解决方案:修改Dify的.env文件,调整FILES_URL配置并重启服务。最终成功实现上传图片或输入图片链接后,AI能够准确分析并返回简洁的图片内容描述。这一方案适用于需要快速部署图像识别功能的场景。

1929

JavaEE-SSH框架整合(Spring5.04+Struts2.5.16+Hibernate5.3)

前言 本文主要是通过一个简单的注册登录来说明SSH框架的整合过程。在项目中,可以使用注解或者是XML的方式来配置依赖。 首先时Struts2和Spring和整合。 导入的Jar包 Struts2基本Jar包 Spring基本Jar包 Hibernate基本Jar包 Spring+Struts2整合需要的Jar包 PS:此Jar的位置在Stru...

请别抢我的狗熊 1865

9.23华为OD机试真题 新系统 - 小菊的寻宝之旅 (Java/Py/C/C++/Js/Go)

9.23华为OD机试真题 新系统 - 小菊的寻宝之旅 (Java/Py/C/C++/Js/Go)

算法大师! 1015

JavaScript教程-字符集,Unicode转义序列,标识符,数据类型,数字,未定义值,浮点数,字符串,引用数据类型,类型检测,类型转换,运算符,关系运算符,

前端学习

VAN 213

SSH整合

SSH整合     最近没怎么手头上没什么事情,不过我感觉也是好事,毕竟一直忙碌刀会钝的。 所有最近收刀,静心磨刀,不为外面的什么各种项目所迷惑。收收心,毕竟磨刀不误砍柴工。总结下Spring整合Struts2和Hibernate。     上篇总结了Spring整合Struts2这次我把Hibernate加了进来,Spring这个非常强大的框架也是真真正正的算得上有个有艺术品位的框架...

这是要成为全栈的节奏么 126

手把手教你学Simulink--基于未来出行解决方案的场景实例:电动飞行汽车(eVTOL)的动力系统建模与仿真

电动垂直起降飞行器零道路拥堵:三维空间飞行绿色低碳:全电驱动,零排放快速响应:城市内15分钟直达低噪音:相比直升机↓20dB📊 预测:2030年全球eVTOL市场规模将超300亿美元,中国、美国、欧洲加速适航认证。本文通过,构建了电动飞行汽车(eVTOL)动力系统高压电池系统建模电力电子(DC-DC、逆变器)实现PMSM电机+螺旋桨推进系统搭建完整飞行任务动态仿真性能KPI评估与优化。

MHD0815的博客 444

简单的SSH整合(基于注解和xml文件的配置)

SSH(SpringMVC,Spring,Hibernate)简单整合的配置(基于注解和xml文件配置),附带用户登陆注册的简单实现1.开发环境Eclipse Maven插件2.项目目录结构3.项目依赖的jar包(pom.xml配置文件-基于Maven)<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.

waiting 715

基于STM32F4XX 、HAL库的GXHT30C温湿度传感器驱动应用C语言程序设计

define GXHT30C_STATUS_WRITE_CHK (1 << 0) // 写数据校验状态。#define GXHT30C_STATUS_HUMI_TRACK (1 << 11) // 湿度跟踪报警。#define GXHT30C_STATUS_TEMP_TRACK (1 << 10) // 温度跟踪报警。#define GXHT30C_STATUS_CMD_STATUS (1 << 1) // 命令执行状态。

PP_Cottage的博客 229

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

毕业设计之 ---- 基于JAVA WEB的网上购物系统的设计与实现

文章目录前言1 运行效果2 系统设计说明2.1 整体设计2.1.1 实现的功能:2.1.2 系统工作流程:2.2 总体设计功能图2.3 数据库设计最后如何获取完整工程源码 前言 随着计算机网络技术的飞速发展和人们生活节奏的不断加快,电子商务技术已经逐渐融入了人们的日常生活当中,网上商城作为电子商务最普遍的一种形式,已被大众逐渐接受。因此开发一个网上商城系统,适合当今形势,更加方便人们在线购物。 本网上商城系统以MVC分层思想为原则,使用SSH框架进行整合开发。页面显示使用JSP和HTML,数据库使用My

HUXINY的博客 2万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Struts 2+Spring 3+Hibernate 3.3 在MyEclipse 10环境下的整合配置

想动手做一个SSH框架下的登录注册功能,虽然网上类似的教程很多,可是看了一圈,不是版本问题,就是漏掉了许多关键的步骤。经过几个小时的奋战,终于搞定了所谓很简单的SSH整合实现注册功能,下面把所有的步骤分享出来,希望能帮到有需要的朋友。 下面以简单的注册模块为例,描述整合的步骤及配置。 1.创建一个Web Project,工程名字任意; 2.添加Struts 2支持:右键单击工...

weixin_30567225的博客 77

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: java中的三大框架
下一篇: 三种方法编写的简单html界面(1)
Sakura_sql
博客等级 码龄12年 3粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值