㈠ jsP开发Web站点的4种方式
直接使用JSP(小型,功能简单)
JSP、Servlet、和JavaBean结合起来,网站逻辑完全放在Servlet中,动态页面的输出放在JSP页面完成(网站逻辑关系复杂)
用JavaEE开发模型(将整个系统分为三个主要部分:视图,控制器,模型,前者处理用户看到的界面,中者负责网站整体逻辑,用来容搞管理用户与视图发生的交互,后者是应用业务逻辑部分,用Java 服务器端组件模型EJB来完成)
用框架整合应用来开发Web站点,如SSH(这种方式当今主流web应用开发模式)
你说的四种我不知道是哪四个,这是实际开发中开发Web站点的主要五种方式
㈡ Jsp中的分层,分页怎么弄
你可以用hibernate框架来实现,通过使用Query对象的setFirstResult(int firstResult)方法来设置第一条记录的位置和setMaxResult(int MaxResult)设置最大返回条数来实现分页。你只需要传这两个参数就行了。
int MaxResult:设置最大返回条数既是每页显示多少条。
int firstResult:设置第一条记录的位置可以这样算:MaxResult * 当前页数-1
public class PageBean {
private int currentPage = 1; // 当前页
private int pageSize = 10; // 每页显示条数
private int totalRecords = 0;// 总条数
/**
* 计算有没有下一页
*
* @return
*/
public boolean hasNext() {
if (totalRecords % pageSize == 0) {
return totalRecords / pageSize > currentPage ? true : false;
} else {
return (totalRecords / pageSize + 1) > currentPage ? true : false;
}
}
// 第一条记录的位置
public int getFirstResult() {
return (currentPage - 1) * pageSize;
}
/**
* 计算有没有前一页
*
* @return
*/
public boolean hasPrew() {
return currentPage > 1 ? true : false;
}
/**
* 最后一页
* @return
*/
public int getLast() {
if (totalRecords % pageSize == 0) {
return totalRecords / pageSize;
} else {
return (totalRecords / pageSize + 1);
}
省略get,set方法
}
然后在Dao里这样写:
public List<V> find(PageBean pb, String hql, Object... params) {
Session session = HibernateSessionFactory.getSession();
/*
* 统计总记录数
*/
String totalPageHql = "select count(*) " + hql.substring(hql.toLowerCase().indexOf("from"));
Query totalQuery = session.createQuery(totalPageHql);
for (int i = 0; i < params.length; i++) {
totalQuery.setParameter(i, params[i]);
}
int total = Integer.parseInt(String.valueOf((Long)totalQuery.uniqueResult()));
pb.setTotalRecords(total);
/*
* 查询分页记录
*/
Query query = session.createQuery(hql);
for (int i = 0; i < params.length; i++) {
query.setParameter(i, params[i]);
}
query.setFirstResult(pb.getFirstResult());
query.setMaxResults(pb.getPageSize());
List<V> list = query.list();
HibernateSessionFactory.closeSession();
return list;
}
这是我一直用的分页代码。。
㈢ 简述jsp 工作原理
客户访问这个页面的时候,只要该文件没有发生过更改,JSP引擎就直接调专用已经属装载的Servlet。如果已经做过修改的话,那就会再次执行以上过程,翻译、编译并装载。其实这就是所谓的“第一人惩罚”。因为首次访问的时候要执行一系列以上的过程,所以会耗费一些时间;以后的访问就不会这样了。
jsp是由servlet发展过来的,你应该知道jsp主要是用来做页面显示的,早期jsp没出现之前servlet担当这一角色,servlet编写前端页面时非常繁琐效率低的,jsp实在servlet的基础上做了一层封装,更倾向于表现层,现在的servlet更倾向于业务逻辑层,这样做的目的也就是分层.把业务层和表现层的代码分离开来,便于开发和维护.jsp在运行的第一次速度会比较慢,因为第一次他需要编译成servlet的文件,实际上你运行的就是一个jsp翻译过来的servlet.
㈣ 什么是jsp web三层架构
三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层(又称为持久层)、业务逻辑层(又或称为领域层)、表示层。
表示层(UI层):
表示层也称为界面层,位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
业务逻辑层(BLL层):
负责关键业务的处理和数据的传递。复杂的逻辑判断和涉及到数据库的数据验证都需要在此做出处理。主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
数据访问层(DAL层):
主要负责对数据库的直接访问,为业务逻辑层提供数据,根据传入的值来操作数据库,增、删、改、查。
㈤ JSP的分层制作
如果是简单的应用就没必要用到struts了,用jsp+servlet+javaBean.
网上很多教程和例子代码,试验着做几个,在自己机器上调试,不难。
㈥ jsp滥用会导致分层和mvc这两种架构风格的在应用中的混乱。请高手说明下原因
JSP java Server page 最终它就是个page页面,页面是做什么用的呢,显示数据。所以JSP只负责把数据呈现到页面上就可以了。具体的数据如何得到那就交给servlet或其它的去做吧
㈦ JSP是前端还是后端
jsp的实质是来servlet,而servlet是服务器端小程序源,所以jsp应该属于后端。
因为MVC分层中,jsp属于View层,现在jsp更多的作用变为了数据的展示和页面的显示,渐渐不用于逻辑的处理,所以综合起来虽然是后端的技术,但是应用上更贴近前端。
㈧ 简述JSP运行原理
所有JSP页面,在执行的时候都会被服务器端的JSP引擎转换为Servelet(.java),然后又由JSP引擎内调用Java编译器,容将Servelet(.java)编译为Class文件(.class),并由Java虚拟机(JVM)解释执行。