JavaWeb笔记-14-验证登陆注册案例。学习感想

这篇博客探讨了JavaWeb应用中框架下各包的作用,详细阐述了注册流程,并分享了作者在实现登录注册功能过程中的练习感想。文章包含Domain、Dao、Service和Web Servlet包的解释,以及注册、登录和欢迎界面的设计。
摘要由CSDN通过智能技术生成

1、各个包在框架下的理解:

	User作用:
		//存放用户实体。提供属性,get/set方法
	
	UserDao
		//实现对文件数据的操作。是service的底层
		//发送反馈给service
	
	service
		//提供可实现的功能
		//service不具体实现,调度UserDao。接收UserDao实现的反馈。
		//发送反馈给servlet
		
	servlet
		//调度。
		//接收service功能的反馈。
		//完成相关信息、异常消息的存放。返回给jsp用以显示

2、注册流程:

用户提交表单  jsp
	如果异常,使用EL表达式输出异常信息。
	传递验证码图片
	
servlet封装表单,传递(调用)给service#regist     servlet
	封装:toBean    ***导包。
	service.regist()
	
	接收service结果。
	
	
service#regist。用于接收注结果。根据注册功能对应的文件操作。转发给userdao完成。自身用于接收反馈信息。
	先调用userdao#findByName中查询
		返回null正常:调用userdao#add添加
				添加完成。跳转登陆界面。
		返回异常:获取异常信息,保存到request域。转发回注册界面

userdao查询与添加。是否存在。存在则不添加。不存在则添加  完成后反馈给上层。
	知识点,dom4j对xpath的操作。 ***需要导包jaxen-1.1-beta-6.jar 
	
	findByName		
		得到doc
		使用xpath查找
			没找到:返回null
			找到了,返回注册异常。
		
	add
		得到doc
		得到根节点
		创建新元素
		设值。
		回写。
		

user数据的底层设置和获取方法。

底层文件:xml
	xml格式:每个用户一个<user>属性为username和password

3、练习感想:

//xml文件配置
	考虑根元素
	考虑属性
	
//表单提交
	考虑提交地址:项目名  +  web.xml中对应的Url-pattern属性值
	提交方式:EL表达式、JSTL-core库标签
		EL表达式:${pageContext.request.contextPath}/RegistServlet
		JSTL-core库标签:<c:url value='/RegistServlet'/>
		
//创建方法时:
	考虑是否需要返回值,返回值类型
	考虑参数

//requst应用理解:
	多用于servlet与jsp页面的数据请求共享
	eg:1)保存错误信息到request中,(设置属性及信息)可以在jsp界面用EL表达式输出。
				EL表达式的优势:有值回输出,无值不输出
		2)用于用户名回显。

//EL表达式应用理解:
	在jsp页面中输出域中内容,输出集合中内容。
	
//session感想
	保存一次对话的信息
	可用于数据回显等操作。
	
//xpath感想
	用于查找xml文件节点。极其方便。
	
//输入验证时 考虑输入为空情况

//jsp插入图片:
	需设置src !
	设置id
	
//jsp调用JavaScript代码
	jsp页面需要动态效果时,需编写JavaScript代码用数据呈现动态效果。 eg:图片切换。

//超链接调用JavaScript代码
		点击元素时启动 JavaScript。
		 <a href="javascript:_change()">
		 
		 
遗留问题:
	异常处理的交互流程。
	
	封装表单数据的过程。
	

代码:

####package Domain

//实体类
//存放用户实体。提供属性,get/set方法

public class User {
	private String username;
	private String password;
	private String verifyCode;
	public String getVerifyCode() {
		return verifyCode;
	}
	public void setVerifyCode(String verifyCode) {
		this.verifyCode = verifyCode;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public User() {
		super();
		// TODO Auto-generated constructor stub
	}
	public User(String username, String password, String verifyCode) {
		super();
		this.username = username;
		this.password = password;
		this.verifyCode = verifyCode;
	}
}

####package Dao

//实现对文件数据的操作。是service的底层
		//发送反馈给servic
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值