Ⅰ web前端代码 小白求教,web前端开发的代码,是运行在哪里,是在web服务器上运行吗还是运行在浏览器端
运行在浏览器端,如果只是HTML5和js,直接在浏览器可以。
如果有后台代码,就得需要web服务器,目前主流的是Tomcat服务器。
Ⅱ 在Javaweb开发过程中什么时候将业务逻辑单独封装成一个类用ssh框架做项目的时候我总是分不清业务逻辑
您好,根据我这几年酱油开发的经验。一般正规点的大项目基本分为4层,ACTION(表现层),UCC(业务处理层),BS(逻辑处理层),DAO(数据处理层)。其实一般ACTION用来与JSP传参调用方法什么的,UCC基本都是用于业务处理,好比银行贷款方式有各种各样的贷款,可能是抵押贷款,可能是担保贷款,当我们去贷款时候,银行分析出我们是适合抵押还是担保,但具体抵押要做什么事情,就是由逻辑层来处理。至于最基本的逻辑层调用数据处理则由DAO来完成。
一般我们都将同一业务逻辑封装在同一类中,比如商品的买,卖,进货,出货,我们可以认为是数量上的变化,可以归为一类封装。至于商品的价格,盈亏,我们可以认为是另一类金钱上的变化来封装。尽快将同一产品的同一属性封装在一个类中,这样以后也方便维护。
- -!大概就是这些,也不知道说没说清楚,其实我是打酱油的。。。
Ⅲ Web应用层,业务逻辑层,数据访问层,连接支持层,业务实体层。主要指的是什么
Web应用层 就是专门放aspx页面的,里面只有简单的数据展示到页面上的文件。包括一些js。css等等
业务逻辑层 就是处理web应用层和数据访问层的关联的,这里面主要写一些处理业务逻辑的方法等等。
数据访问层,就是用来访问数据库的,简单的表的增删改查。
业务实体层,就是对应数据库表的,用来保存数据的。
连接支持层 就是一些帮助类
Ⅳ javaweb项目,点击商品进入商品详情的业务逻辑
我的思路是这样的。首先,点击商品发出post请求,请求参数为商品id。servlet拿到这个id后,查询数据库中的数据。查询出数据库发送页面,页面显示。
Ⅳ asp.为什么不在web窗体中处理业务而要创建一个业务逻辑类,怎样把逻辑单元连接到用户界面,举个简单的例子
1.
对应数据库实体类
[Serializable]
public class mytable
{
private String _pkid = "";
public String pkid
{
get { return _pkid; }
set { _pkid = value; }
}
private String _a = "";
public String a
{
get { return _a; }
set { _a = value; }
}
}
2.操作类:可以将此类放在业务逻辑层,(如果还要细化,可以将此层放在数据库实体操作层)
public class mytableDAO
{
private String _ConnectionString;
public mytableDAO(String ConnectionString)
{
this._ConnectionString = ConnectionString;
}
public int New(Entities.MsgRecord obj)
{
String sql = "insert into mytable(pkid,a) values(@pkid,@a)";
SqlConnection cn = new SqlConnection(this._ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("@a", obj.a);
cmd.Parameters.AddWithValue("@pkid",
String.Empty.Equals(obj.pkid) ? System.Guid.NewGuid().ToString() : obj.pkid);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
public int Update(Entities.mytable obj)
{
String sql = "Update mytable Set a=@a Where pkid=@ObjectID";
SqlConnection cn = new SqlConnection(this._ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("@a", obj.a);
cmd.Parameters.AddWithValue("@pkid", obj.pkid);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
public int Del(Entities.mytable obj)
{
String sql = "delete from mytable Where pkid=@ObjectID";
SqlConnection cn = new SqlConnection(this._ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("@ObjectID", obj.pkid);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
public int Del(String where)
{
String sql = String.Format("delete from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", ""));
SqlConnection cn = new SqlConnection(this._ConnectionString);
SqlCommand cmd = new SqlCommand(sql, cn);
try
{
if (cn.State != ConnectionState.Open)
cn.Open();
return cmd.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close();
}
}
public DataTable Query(String where)
{
String sql = String.Format("select * from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", "").Replace("insert", "").Replace(";", "").Replace("--", "").Replace("exec", ""));
try
{
SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(this._ConnectionString));
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
catch
{
return null;
}
}
}
3.界面层,即.在ui中调用:数据库操作类,如(mytableDao =new mytableDao(conn);)
3.1 新增:
private void NewData()
{
String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString
mytableDao =new mytableDao(conn);
mytable obj=new mytable();
obj.a=this.txtbox_a.Text;
obj.b=this.txtbox_b.Text;
obj.c=this.txtbox_c.Text;
.New(obj);
}
3.2 取数据绑定GridView
private void LoadData_InitGridView()
{
String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString
mytableDao =new mytableDao(conn);
Table dt=.Query(String.Format(" a ='{0}'",this.txtbox_a.Text));
//gridview
this.GridView1.DataSource=dt;
this.GridView1.DataBind();
//textbox control
this.textbox_a.Text=dt.Rows[0][0].ToString();
}
Ⅵ java使用spring+struts,业务逻辑应该在哪里写。
应该在struts层的 action里面去写业务逻辑处理。service层是接口 用来调用层的方法。层实现数据库的操作!
Ⅶ 使用java开发一个web程序。用到JSP页面,,dto,exception,init,service,action,form和struts框架
首先是一个有表单元素的页面 用户通过输入完成表单 点击提交,因为是struts1所以先是把用户表单里输入的数据通过struts配置文件存到相应的form 然后action从form取到用户输入的值,并通过这些值来调用service里的方法,service则是调用里的方法并做业务逻辑处理,而就是基本JDBC的增删改查语句在通过struts配置文件转到指定的JSP页面(这个是流程)。
然后dto是数据传输对象, exception是你程序中一些地方的代码出问题后所出现的异常
至于init是你的action在掉用方法之前的程序默认的方法,(就是指定servlet掉doget或dopost方法)
Ⅷ webservice里做业务逻辑的事情好吗
webservice 好像是不同程序之间调用比较好吧
Ⅸ web 的controller 层可以进行逻辑处理吗
1、数据的校验。
为什么不在后面的Service层校验呢?
原因:Service是通用的,而调用方Controller有多个,每一个Controller代表一个业务,这些业务需要校验的数据又很难统一,所以,每一个Controller自己校验比较合适,Service只做通用校验,这样,当有一个新的Controller接入的时候,Service也不用修改。
2、数据的封装。
这个就简单了,因为一个Controller可能调用对个Service才能完成一个请求。
3、数据的转换。
为什么不直接使用Service层的数据呢?
原因:一般的Controller层和View层是分离的,如果Controller把Service层的数据重新封装一下,然后给View,相当于View依赖于Controller,当Service变动之后,Controller修改下映射即可,否则,View要改,Controller也得改(为啥?依赖的jar都变了,能不该吗)。这也是分层的优点。