當前位置:首頁 » 網購平台 » 關於java購物車面試題
擴展閱讀
寧波奧德賽優惠價格 2021-03-15 14:26:02
丹尼斯購物卡能掛失么 2021-03-15 14:25:58
淘寶購物指紋驗證失敗 2021-03-15 14:24:44

關於java購物車面試題

發布時間: 2021-02-03 16:44:34

⑴ 關於javaBean購物車的提問

javabean:
public class ShoppingCart implements Serializable {
List<OrderItemVo> cart = new ArrayList<OrderItemVo>();//獲取先前(BuybookServlet)定義的購物車
public List<OrderItemVo> getCart() {
return cart;
}
public void setCart(List<OrderItemVo> cart) {
this.cart = cart;
}
//清空購物車
public void clearCart(){
cart.clear();
}
//刪除車中的某一購物項
public void deleteItem(String id){
for(OrderItemVo o:cart){
if(o.getBook().getEs_Id()==Integer.parseInt(id)){
cart.remove(o);
break;
}
}
}
//添加購物車
public void addCart(OrderItemVo ov){
//檢查車中是否有相同的書籍存在
OrderItemVo oc=this.check(ov);
if(oc==null){//新書
this.getCart().add(ov);
}else{
oc.addNumber();
}

}
//檢查車中是否有相同的書籍存在
private OrderItemVo check(OrderItemVo ov){
OrderItemVo oiv=null;
for(OrderItemVo o:cart){
if(o.getBook().getEs_Id()==ov.getBook().getEs_Id()){
oiv=o;//車中有相同的書
break;
}
}
return oiv;

}
//訂單總額合計
public double getTotal(){
double total=0.0;
for(OrderItemVo oiv:cart){
total+=oiv.getSubTotal();
}
return total;
}
//更新購物車
public void updateQuantity(String id,String quantity){
for(OrderItemVo o:cart){
if(o.getBook().es_Id==Integer.parseInt(id)){
o.setEs_oinumber(Integer.parseInt(quantity));
break;
}
}
}
}

Servlet:
買書的Servlet:
public class BuyBookServlet extends HttpServlet {

protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String ID=req.getParameter("id");
int id=Integer.parseInt(ID);
Register r=new Register();
BookVo book=r.bookinfo(id);
System.out.println(id);
System.out.println(book.es_booking);
System.out.println(book.es_bookname);
System.out.println(book.es_bookprice);
System.out.println(book.es_Id);
ShoppingCart cart=(ShoppingCart)req.getSession().getAttribute("cart");
if(cart==null){//第一次購物
//創建一個購物車
cart=new ShoppingCart();
OrderItemVo ov=new OrderItemVo(book,1);//創建頂空項
cart.addCart(ov);//放入購物車
//把車放回到session中
req.getSession().setAttribute("cart", cart);
}else{//非第一次購物
OrderItemVo ov=new OrderItemVo(book,1);//創建頂空項
cart.addCart(ov);//放入購物車
//把車放回到session中
req.getSession().setAttribute("cart", cart);
}
req.getRequestDispatcher("cart.jsp").forward(req, resp);
}

}
參考下 小兄弟

⑵ 面試JAVA軟體工程師 人家問你購物車怎麼做的用了哪些技術怎麼說

用cookie和資料庫(購物車信息持久化)實現購物車;
主要的流程:
A.用戶登錄前的數據迴流:用戶在沒有登錄系統的答時候,對喜歡的商品進行添加購物車,那麼這個時候,我們可以把購物車信息保存
到cookie中,這里會涉及到cookie的添加,修改操作;也即如果之前在cookie中不存對應的cookie,則就對cookie進行添加操作。
如果在cookie中存在對應的cookie,那麼,這時候,就要對cookie進行修改操作了(這里涉及到用戶對同一個商品進行多次添加購物車的情況)。
B.用戶登錄後的數據流:用戶在登錄後,系統首先做的第一件事就是去獲取對應的cookies,如果存在相關的購物車cookies,那麼就對該購物車
信息進行相應用戶User的持久化操作,要麼添加,要麼修改。(添加操作:該用戶所對應的購物車如果沒有相應的信息進行添加操作;修改操作:類似的,
如果存在對應用戶的購物車信息,就進行修改操作)。用戶登錄後,也可以進行購物車的添加操作,不過,這里不是添加到cookie中,而是直接持久化到
資料庫中。註:用戶登錄後的數據都是和資料庫打交道。

⑶ 編程 java 關於購物車

將session中的商品定義為對象
放入ArrayList中
修改了購物車內容後
把ArrayList.size()賦值到現在是0的位置回

如:
購物車添加物品答
List proctList = new ArrayList();
Proct proct1 = new Proct();
proctList.add(proct1);
...
Proct proctN = new Proct();
proctList.add(proctN);

session.setAttribute("proct", proctList);

頁面可以寫
List proctList = (List)session.getAttribute("proct");

把proctList.size()放到個數的位置

⑷ JAVA編程購物車問題大神們幫幫忙

不會用Map,建議先學習怎麼用。不能熟練使用集合框架,嚴重影響開發效率。基礎很重要,沒基礎,什麼都不行。 當然,購物車可以不用Map也能實現。 // 從session里取購物車對象 List cart = (List) request.getSession().getAttribute("cart"); // 如果session里沒有,創建 if (cart == null) { cart = new ArrayList(); } // 創建Book對象 BookInfo book = new BookInfo("001", "abc", 1); // 是否購物車里已經有 if (!cart.contains(book)) { // 沒有的時候直接add cart.add(book); } else { // 有的時候,取出 BookInfo tmpBook = (BookInfo) cart.get(cart.indexOf(book)); // 加數量 tmpBook.setCount(tmpBook.getCount() + book.getCount()); } // 把cart放到session里 request.getSession().setAttribute("cart", cart); 補充: 注意:BookInfo要重寫equals方法,上面的代碼材有效。下面這個BookInfo重寫了equals方法,當id相同時,認為是同一本書。如果想用其他方法判斷,自己可以重寫。 public class BookInfo { private String id; private String name; private int count; public BookInfo(String id, String name, int count) { this.id = id; this.name = name; this.count = count; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; BookInfo other = (BookInfo) obj; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; return true; } } 追問: BookInfo tmpBook = (BookInfo) cart.get(cart.indexOf(book)); 這句裡面的cart.indexOf(book)是用於什麼用的啊?我學了半年JAVA..半年的JSP+servlet+ 框架 呢..我還是新手哈.. 回答: cart.indexOf(book)是查找對象在List中的 索引 。 cart.get(cart.indexOf(book))是根據找到的索引取對象。 追問: 現在能加入 購物車 了.但是不能過濾相同ID的這個怎麼樣在servlet裡面解決呢?我用的是struts的ACTION和form的 回答: 我上面不是寫了BookInfo類嗎!為了讓List能把相同ID的BookInfo對象認為是「同一本書」,要重寫equals方法。 cart.contains(book)是判斷List是否有某Book時,會調用BookInfo的equals方法。舉個例子,用上面那個BookInfo類。new BookInfo("1","abc",1)和new BookInfo("1","abc",1)會被List認為是相同的BookInfo,因為id都是「1」。 追問: 我是用struts中的form來寫的..我加入到form中.我程序就出錯了....我在實驗下吧..

⑸ 有關java購物車程序的問題

說簡單點 request對象和session對象的最大區別是生命周期
request對象的生命周期是針對一個客內戶端(說確切點就是一個瀏容覽器應用程序)的一起請求 當請求完畢之後,request里邊的內容也將被釋放點
而session的生命周期也是針對一個客戶端 但是卻是在別人設置的會話周期內(一般是20-30分鍾) session里邊的內容將一直存在 即便關閉了這個客戶端瀏覽器 session也不一定會馬上釋放掉的

request和session的優點和缺點很明顯
request佔用資源比較少 安全性也比較高 可是相對來說 缺乏持續性
而session則相對來說 對資源的消耗會大點 安全性相對來說也會稍微低點 可是它能實現比如會話跟蹤技術

⑹ java寫的簡易購物車 簡歷里描述一下

第一: 寫你的開發平台:比如windows 還是Linux。
第二:寫你的開發工具:MyEclipse 還是Eclipse。回 資料庫MySQL 還是Oracle。。。。。
第三:寫你的框答架:ssh+jquery +Ajax+jsp+......
第四:寫你參與的開發模塊。涉及到的技術亮點。比如登陸模塊,用到的是AJAX非同步數據驗證。或者復雜點的:在線文件預覽:用到技術 OpenOffice+FlexPaper+swfTools等。
第五 :寫你遇到技術難題,你自己是如何解決的(注意多寫自己獨立解決:面試官很在意個人自我解決能力或者自學能力),
第六:寫你完成這個項目的收獲。
大致也就這樣了。

⑺ javaweb開發 在購物車實現的問題

第3中比較好。第一種,javaweb本身在cookie中存放復雜對象就很麻煩,讀寫量大。第二種,客戶下內線sesson一般就會容被移除,這樣用戶下次登陸時就沒有之前購物車信息了。第3中,可以避免上面的不足

⑻ 通常java的面試都會問些什麼

首先,你先向面試官自我介紹一下。
我:「我做過兩個項目。寫過幾篇論文和專利。還參加過XX大數據競賽。同時,出於個人興趣,我還閱讀了一下xxxx的少部分源碼,理解了一下xxxx的核心思想,實現了一個功能非常簡單,並且還不完善的xxxx。」
有可能剛開始,還是討論比賽和分布式。後面就會問你一道大量文本處理的問題,例如「找出一個大文本中的Top3的字元串」,沒有做過這方面的研究。
Java問題:「講一下JVM的結構。」
網路問題:「TCP/IP的三次握手、四次揮手」
問關於JavaWEB的問題。
或者是「淘寶用戶的數據(購物車……)存在那裡?怎麼滿足高並發?」
問一下你的演算法問題「輸入兩個整型數組,返回一個數組:兩個數組中的公共值。」
「考一下你對遞歸的掌握。寫一個函數,輸入int型,返回整數逆序後的字元串。如:輸入123,返回「321」。 要求必須用遞歸,不能用全局變數,輸入必須是一個參數,必須返回字元串。」
問完之後可能會說「就當做我們在聊天,討論技術問題。講一下你的相關經歷吧。「
這時候你就可以很輕松地在聊比賽相關的事情,以及自己對數據的理解。
總結:
對於,基礎比較扎實的人,那就讓面試官隨便問吧。不過,我覺得任何人都有可能別問死的,因為他們想通過這種方式看看你的掌握深度。
如果只是基礎知識一般:數據結構、排序演算法和遞歸,能寫出來;操作系統,懂一些基本理論;計算機網路,懂一些基本概念和理論。就必須要充分發揮自己的競賽、項目、論文和專利的優勢了。
面試過程中,有一點很重要,把握面試官的興趣點,並將面試官帶入自己的優勢。當然,如果自己的優勢不是面試官非常了解的領域,但是面試官又比較感興趣,那就更好了。最好能把面試官帶入你的話題中,讓他對你產生興趣,然後,大部分時間就都可以花在在討論這些內容了。
可以肯定的說,JAVA目前的就業還是很緊缺。總體來看,就業崗位有的是,要就業的JAVA人才也很多,但是目前大多數求職者的水平與就業崗位的要求有一定的差距,所以目前的JAVA求職者很有必要提升自己。我和一群java的愛好者創建的一個免費學習的qun,開頭的三個數字是四二六,中間的三位數就是三九六,最後面的三位數就是二八四。你可以與java愛好者共同學習和交流經驗。無論是從技術上,還是從實際工作的執行上,都要提升,這樣才能從眾多的從業人員中脫穎而出。成為領高薪資,有高職位的人上人。
如果你還沒有足夠的勇氣去面試,覺得自己的能力還達不到企業的高水平要求,可以來一起交流一下。
總而言之,把自己的優勢發揮到極致。祝你面試成功!

⑼ 面試題,商城購物系統怎麼保證購物車中商品的唯一性

可能之前是在遊客身份的狀態下將商品放入了購物車,系統清除了cookies後,導致購物車記錄消失建議你以後在登錄狀態下使用購物車。

⑽ java購物車設計問題

取所選物品的id,每個id用逗號分開,存成一個字元串,在後台取的時候再把字元串中的逗回號去掉,答分成一個個的id就OK了!
JS:
var e=document.getElementsByTagName("input");
FORM.id.value="";
var j=0;
for(var i=0;i <e.length;i++)
{
if(e[i].type== "checkbox" && e[i].checked)
{
if(e[i].value!="hehe")
{
FORM.id.value=FORM.id.value+","+e[i].value;
j++;
}
}
}
後台:
if(ids!=null && !ids.equals("")){
//使用「,」分割字元串
ids=ids.trim().substring(1);
FieldTokenizer ft = new FieldTokenizer(ids, ",");

for(int j=0;j<ft.size();j++)
{
String id = ft.nextField();
}
那就把數量也逗號存裡面
我沒更好的方法了
跟你一起坐等高手解決