Javaweb--JSP开发模型(内含实战项目)

Javaweb--JSP开发模型(内含实战项⽬)
Javaweb–JSP开发模型(内含实战项⽬)
⽂章⽬录
系统开发模型,即系统开发架构,是整合应⽤系统程序⼤的结构。常⽤的系统结构有三层架构与MVC。这两种架构既有联系,⼜有区别。这两种架构的使⽤均是降低为了降低系统模块间的耦合度。
四种模式
纯JSP、JSP+JavaBean【Model1】、JSP+JavaBean+Servlet【Model2/MVC】、MVC
纯JSP
在 JSP 编程模式下,通过应⽤ JSP 中的脚本标志,可以直接在 JSP 页⾯中实现各种功能。虽然这种模式很容易实现,但是,其缺点也⾮常明显。因为将⼤部分的 Java 代码与 HTML 代码混淆在⼀起,会给程序的维护和调试带来很多困难,⽽且难以理清完整的程序结构。
这就好⽐规划管理⼀个⼤型企业,如果将负责不同任务的所有员⼯都安排在⼀起⼯作,势必会造成公司
秩序混乱、不易管理等许多隐患。所以说,单纯的 JSP 页⾯编程模式是⽆法应⽤到⼤型、中型甚⾄⼩型的 JSP Web 应⽤程序开发中的。
JSP+JavaBean【Model1】
JSP+JavaBean 编程模式是 JSP 程序开发经典设计模式之⼀,适合⼩型或中型⽹站的开发。利⽤ JavaBean 技术,可以很容易地完成⼀些业务逻辑上的操作,例如数据库的连接、⽤户登录与注销等。
JSP+JavaBean+Servlet【Model2/MVC】
JSP+JavaBean 设计模式虽然已经对⽹站的业务逻辑和显⽰页⾯进⾏了分离,但这种模式下的 JSP 不但要控制程序中的⼤部分流程,⽽且还要负责页⾯的显⽰,所以仍然不是⼀种理想的设计模式。
MVC
MVC(Model-View-Controller,模型-视图-控制器)是⼀种程序设计概念,它同时适⽤于简单的和复杂的程序。使⽤该模式,可将待开发的应⽤程序分解为三个独⽴的部分:模型、视图和控制器。提出这种设计模式主要是因为应⽤程序中⽤来完成任务的代码(模型,也称
为“业务逻辑”)通常是程序中相对稳定的部分,并且会被重复使⽤,⽽程序与⽤户进⾏交互的页⾯(视图),却是经常改变的。
实战JSP+JavaBean+Servlet【Model2/MVC】
利⽤JSP+JavaBean+Servlet【Model2/MVC】实现⽤户注册功能
编写JavaBean
编写UserBean类
package;
public class UserBean {
private String name;//定义⽤户名
private String password;//定义密码
private String email;//定义邮箱
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public String getPassword(){
return password;
}
public void setPassword(String password){
this.password = password;
}
public String getEmail(){
万方数据库
return email;
}
public void setEmail(String email){
}
}
编写RegisterFromBean类
package;
import HashMap;
import Map;
public class RegisterFormBean {
private String name;//定义⽤户名
private String password;//定义密码
private String password2;//定义确认密码
private String email;//定义邮箱
private String email;//定义邮箱
// 定义成员变量errors,⽤于封装表单验证时的错误信息
private Map<String, String> errors =new HashMap<String, String>();
public String getName(){
return name;
}
public void setName(String name){
轨道根数
this.name = name;
}
public String getPassword(){
return password;
}
public void setPassword(String password){
张少川this.password = password;
}
public String getPassword2(){
return password2;
}
public void setPassword2(String password2){
this.password2 = password2;
水葫芦之灾}
public String getEmail(){
return email;
}
public void setEmail(String email){
}
public boolean validate(){
boolean flag =true;
if(name ==null|| im().equals("")){
errors.put("name","请输⼊姓名.");
flag =false;
}
if(password ==null|| im().equals("")){
errors.put("password","请输⼊密码.");
flag =false;
}else if(password.length()>12|| password.length()<6){
errors.put("password","请输⼊6-12个字符.");
flag =false;
}
if(password !=null&&!password.equals(password2)){
errors.put("password2","两次输⼊的密码不匹配.");
flag =false;
}
// 对email格式的校验采⽤了正则表达式
if(email ==null|| im().equals("")){
errors.put("email","请输⼊邮箱.");
flag =false;
}else if(!email.matches("[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+")){    errors.put("email","邮箱格式错误.");
flag =false;
}
return flag;
}
// 向Map集合errors中添加错误信息
public void setErrorMsg(String err, String errMsg){
if((err !=null)&&(errMsg !=null)){
errors.put(err, errMsg);
}
}
// 获取errors集合
public Map<String, String>getErrors(){
return errors;
}
}
创建⼯具类
package;
import Connection;
import DriverManager;
import HashMap;
import UserBean;
public class DBUtil {
private static DBUtil instance =new DBUtil();//
// 定义users集合,⽤于模拟数据库
private HashMap<String, UserBean> users =new HashMap<String,UserBean>();
// public static Connection getCon() throws Exception{
//  Class.forName("sql.cj.jdbc.Driver");
//  Connection users = Connection("jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC", "root","123456");
//  return users;
// }
private DBUtil(){
// 向数据库(users)中存⼊两条数据
UserBean user1 =new UserBean();
user1.setName("Jack");
user1.setPassword("12345678");
user1.setEmail("");
users.put("Jack ",user1);
UserBean user2 =new UserBean();
user2.setName("Rose");
user2.setPassword("abcdefg");
user2.setEmail("");
杭州科技信息网users.put("Rose ",user2);
}
public static DBUtil getInstance(){
return instance;
}
/
/ 获取数据库(users)中的数据
public UserBean getUser(String userName){
超生反应
UserBean user =(UserBean) (userName);
return user;
}
// 向数据库(users)插⼊数据
public boolean insertUser(UserBean user){
if(user ==null){
return false;
}
String userName = Name();
(userName)!=null){
return false;
}
users.put(userName,user);
return true;
}
}
创建Servlet

本文发布于:2024-09-24 02:34:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/453322.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:定义   模型   系统   开发   管理
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议