码迷,mamicode.com
首页 > 其他好文 > 详细

后端开发日志(二):商品信息输出

时间:2015-07-18 22:35:31      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

在学校奋斗了两周,目前能够实现的功能有登录、注册、查看商品信息、按关键字查询商品、下单、按用户名查询订单这几个。暑假要继续把这些功能做得更友好,还要加上购物车,任重而道远……

说正题之前先说一下别的。注册部分有一些修改,用户名不能为空、不能与数据库里已有的重复、必须要是3-8位的字母。这个方法存在与用户有关的实现类里,代码如下:

	public int addUser(User user) throws Exception {
		int flag = 1;
		String sql = "select * from userinfo where username=?";
		String sqlAdd="insert into javawebdb.userinfo values(?,?)";
		PreparedStatement pstmt = null;
		DBConnect dbc = null;
		//DBConnect是专门用来连接数据库的类
		try{
			//连接数据库
			dbc = new DBConnect();
			pstmt = dbc.getConnection().prepareStatement(sql);
			pstmt.setString(1,user.getUsername());
			//查询用户名
			ResultSet rs = pstmt.executeQuery();
			
			//make the query info to person
			if(rs.next()) {
				if(rs.getString("username").equals(user.getUsername())) {
					flag = 0;
                       //不能重复
				}				
			}
			if (user.getUsername() == null || user.getUsername().trim().equals("")) {
				flag = 0;
                  //不能为空 } if (!user.getUsername().matches("[a-zA-Z]{3,8}")) { flag = 0;                   //必须是3-8位字母 } if(flag == 1){ pstmt = dbc.getConnection().prepareStatement(sqlAdd); pstmt.setString(1,user.getUsername()); pstmt.setString(2,user.getPassword()); pstmt.executeUpdate(); //在数据库中写入新用户信息 } rs.close(); pstmt.close(); } catch (SQLException e) { System.out.println(e.getMessage()); } finally { //close DB dbc.close(); } return flag; }

  商品信息输出也是基于数据库的操作,在表格里按照一定顺序输出数据库里的所有元组就行,不过老师要求最终要在html上实现,我还要去自学JS和Ajax才行,现在知识储备不够,只能把结果显示到jsp页面,伤心=。=

  千万不要把数据库的相关操作直接写到jsp文件里面!

  千万不要把数据库的相关操作直接写到jsp文件里面!

  千万不要把数据库的相关操作直接写到jsp文件里面!

  重要的事情说三遍。

  这是后台实现类里的方法:

	public ArrayList showProduct() throws Exception{
		String sql = "select * from productinfo";
		PreparedStatement pstmt = null;
		DBConnect dbc = null;
		ArrayList arraylist = new ArrayList();		
		try
		{
			dbc = new DBConnect();
			pstmt = dbc.getConnection().prepareStatement(sql);
			ResultSet rs = pstmt.executeQuery();	      
			while(rs.next())
			{
			        Product pro=new Product();
			        pro.setId(rs.getInt(1));
			        arraylist.add(0,pro.getId());
                  //实际写的时候,product里面有很多属性,这里只举其中一个例子,产品编号			        
				        
			 }
			 rs.close();
		}
		catch(Exception ee)
		{
			ee.printStackTrace();
		}
		 finally {
				dbc.close();
		}		
		return arraylist;
          //注意返回值的类型
	}	   

  之前试过在arraylist里面直接存对象,但是到了前台输出就变成地址了,很神烦,然而并不会解决,于是就用这种存取String的粗暴方法了。求指教啊求指教……

  jsp里只列一下java代码:

  List list = (ArrayList)session.getAttribute("list"); //调取传过来的arraylist

  for(int i=list.size()-1;i>=0;i=i--) {

    out.print(list.get(i));

  }//上面的方法里我只存了产品id,所以这里也跟着改一下,只输出一列

  

后端开发日志(二):商品信息输出

标签:

原文地址:http://www.cnblogs.com/zxysmalleyes/p/4657802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!