JavaWeb——JSP_08学习笔记

前言:

           该篇代码比较多,光看起来会比较枯燥。先自己了解session版本购物车的思路,尝试自己

独自去完成,之后以本篇作为参考来完成任务。效果会比较好,如果有错误的地方谢谢指出!

目录

前言:

 

一、回顾

二、分页

index.jsp 

GoodsBiz.java

GoodsDao.java

三、session实现购物车

介绍:

组成部分:

实现代码:

dologin.jsp登录处理界面

index.jsp主界面

addcar.jsp添加购物车处理界面

car.jsp购物车界面

docount.jsp订单数量减少处理界面

dodel.jsp删除订单的处理界面

四、总结:


一、回顾

用三层架构思想书写代码,规范代码。

 

二、分页

分页是网页中最常见的部分。能发现规律,当前该页显示第n~m条数据根据当前页数和每页显示几

条来决定。直接上代码!

实现代码:

index.jsp 

<%
		//实例化商品(Goods)逻辑业务层
		IGoodsBiz igb=new GoodsBiz();
		//初始化当前页数为1
		int pages=1;
		//获取点击下一页之后的页数
		String pages2=request.getParameter("pages");
		if(pages2!=null){
			pages=Integer.parseInt(pages2);
		}
		//初始化页面大小(一页显示几条数据)
		int size=3;
		//由规律可得第几页显示第n~m条数据
		int begin=(pages-1)*size+1;
		int end=pages*size;
		//调用方法读取一个几条数据
		int count=igb.getCount();
		//计算出最大页数
		int max=(int)Math.ceil((count*1.0)/size);
		//分页查询
		List<Goods> li=igb.getAll(begin,end);
		if(li!=null){
			for(Goods g:li){
		%>
		<tr>
			<td><%=g.getGid() %></td>
			<td><%=g.getGname() %></td>
			<td><%=g.getGprice() %></td>
			<td><%=g.getGinfo() %></td>
			<td><img src="<%=g.getGpath() %>"></td>
			<td><a href='addcar.jsp?gid=<%=g.getGid()%>'>添加到购物车</a></td>
		</tr>
		<% 
			}
		}
		%>
	</table>
							<!--三元运算符来判断带过去的参数pages(页数)为几 -->
	<a href='index.jsp?pages=<%=pages==1?1:pages-1 %>'>上一页</a>
	当前页数:<%=pages %>总页数:<%=max %>
	<a href='index.jsp?pages=<%=pages==max?max:pages+1 %>'>下一页</a>

GoodsBiz.java

public class GoodsBiz implements IGoodsBiz{
	IGoodsDao igd=new GoodsDao();
	
    //分页查询数据
	public List<Goods> getAll(int begin,int end) {
		return igd.getAll(begin,end);
	}
	
    //查出数据总条数
	public int getCount() {
		return igd.getCount();
	}
	
}

GoodsDao.java

public class GoodsDao implements IGoodsDao{
    
	private Connection con;
	private PreparedStatement ps;
	private ResultSet rs;
	private String sql;
    
	/**
	 * @param begin 当前页数开始
	 * @param end 当前页数结束
	 * @return 第begin-end条的商品
	 */
	public List<Goods> getAll(int begin,int end) {
		con=DBHelper.getCon();
        //这里是Oracle的SQL语句,所以使用了伪列rownum和子查询
        //原理都是一样,查询begin-end的数据
		sql="select * from(select g.*,rownum r from goods g)n where n.r between ? and ?";
		List<Goods> li=new ArrayList<Goods>();
		try {
			ps=con.prepareStatement(sql);
			ps.setInt(1, begin);
		
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JSP(JavaServer Pages)是一种服务器端的动态网页开发技术,它可以将 Java 代码嵌入 HTML 页面中,从而实现动态网页的生成。 JSP 的基本原理是将 JSP 页面翻译成 Servlet,在服务器端执行 Servlet 代码,再将执行结果返回给客户端。因此,我们在使用 JSP 开发网页时,需要先了解 Servlet 的相关知识。 JSP 的语法基本上就是 HTML 标签加上 Java 代码。以下是一些基本的 JSP 标签: 1. <% ... %>:嵌入 Java 代码,可以用于定义变量、写循环、判断语句等。 2. <%= ... %>:输出 Java 代码的执行结果。 3. <%-- ... --%>:注释,不会被翻译成 Servlet。 4. <jsp:include ... />:包含其他 JSP 页面或 HTML 页面。 5. <jsp:forward ... />:将请求转发到其他资源(JSP 页面、Servlet 或 HTML 页面)。 6. <jsp:useBean ... />:创建 JavaBean 对象。 7. <jsp:setProperty ... />:为 JavaBean 对象设置属性。 8. <jsp:getProperty ... />:取得 JavaBean 对象的属性值。 在 JSP 页面中,我们还可以使用 EL 表达式和 JSTL 标签库来简化代码编写,提高开发效率。 EL(Expression Language)表达式是一种简化的表达式语言,可以用于取值、赋值、计算等操作。例如,${name} 表示取得名为 name 的变量的值。 JSTL(JavaServer Pages Standard Tag Library)是一套标签库,提供了循环、条件判断、格式化、国际化等常用功能的标签。例如,<c:forEach> 标签可以用于循环遍历集合,<c:if> 标签可以用于条件判断。 除了以上标签库,JSP 还支持自定义标签库。我们可以通过编写标签处理器来扩展 JSP 的功能。 JSP 的优点是可以将 Java 代码嵌入 HTML 页面中,使得网页的开发更加灵活和方便。但是,由于 JSP 页面需要翻译成 Servlet,因此会增加服务器的负担和响应时间。此外,JSP 页面中夹杂着 Java 代码,也不利于代码的维护和调试。因此,在开发大型网站时,建议使用 MVC 设计模式,将业务逻辑和视图分离,使得代码更加清晰和易于维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张同学_java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值