import java.util.*;
創(chuàng)新互聯(lián)響應(yīng)式網(wǎng)站特點(diǎn)就是不管在電腦、平板還是手機(jī)上,H5網(wǎng)站設(shè)計(jì)都會(huì)根據(jù)屏幕尺寸自動(dòng)調(diào)節(jié)大小、圖片分辨率,并且融入一定的動(dòng)畫特效,讓網(wǎng)站看起來(lái)非常的美觀大方。從網(wǎng)站需求對(duì)接到網(wǎng)站制作設(shè)計(jì)、從代碼編寫到項(xiàng)目上線運(yùn)維,技術(shù)人員全程跟蹤,快速響應(yīng)
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;
class 商品 extends Panel
{String 代號(hào),名稱;int 庫(kù)存;float 單價(jià);
商品(String 代號(hào),String 名稱,int 庫(kù)存,float 單價(jià))
{this.代號(hào)=代號(hào);this.名稱=名稱;this.庫(kù)存=庫(kù)存;this.單價(jià)=單價(jià);
}
}
class ShowWin extends JFrame implements ActionListener
{ Hashtable hashtable=null;
JTextField 代號(hào)文本框=new JTextField(),
名稱文本框=new JTextField(),
庫(kù)存文本框=new JTextField(),
單價(jià)文本框=new JTextField(),
查詢文本框=new JTextField(),
查詢信息文本框=new JTextField(),
刪除文本框=new JTextField();
JButton b_add=new JButton("添加商品"),
b_del=new JButton("刪除商品"),
b_xun=new JButton("查詢商品"),
b_xiu=new JButton("修改商品"),
b_show=new JButton("顯示商品清單");
JTextArea 顯示區(qū)=new JTextArea(25,10);
ShowWin()
{super("倉(cāng)庫(kù)管理窗口");
hashtable=new Hashtable();
Container con=getContentPane();
JScrollPane pane=new JScrollPane(顯示區(qū));
顯示區(qū).setEditable(false);
JPanel save=new JPanel();
save.setLayout(new GridLayout(8,2));
save.add(new Label("輸入代號(hào):"));
save.add(代號(hào)文本框);
save.add(new Label("輸入名稱:"));
save.add(名稱文本框);
save.add(new Label("輸入庫(kù)存:"));
save.add(庫(kù)存文本框);
save.add(new Label("輸入單價(jià):"));
save.add(單價(jià)文本框);
save.add(new Label("單擊添加:"));
save.add(b_add);
save.add(new Label("單擊修改:"));
save.add(b_xiu);
save.add(new Label("輸入查詢代號(hào):"));
save.add(查詢文本框);
save.add(new Label("單擊查詢:"));
save.add(b_xun);
JPanel del=new JPanel();
del.setLayout(new GridLayout(2,2));
del.add(new Label("輸入刪除的代號(hào):"));
del.add(刪除文本框);
del.add(new Label("單擊刪除:"));
del.add(b_del);
JPanel show=new JPanel();
show.setLayout(new BorderLayout());
show.add(pane,BorderLayout.CENTER);
show.add(b_show,BorderLayout.SOUTH);
JSplitPane split_one,split_two;
split_one=new JSplitPane(JSplitPane.VERTICAL_SPLIT,save,del);
split_two=new
JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,split_one,show);
con.add(split_two,BorderLayout.CENTER);
JPanel xun=new JPanel();
xun.add(new Label("所得信息:"));
xun.add(查詢信息文本框);
xun.setLayout(new GridLayout(2,1));
con.add(xun,BorderLayout.SOUTH);
b_add.addActionListener(this);
b_del.addActionListener(this);
b_xun.addActionListener(this);
b_xiu.addActionListener(this);
b_show.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==b_add)
{String daihao=null,mingcheng=null;int kucun=0;float danjia=0.0f;
daihao=代號(hào)文本框.getText();mingcheng=名稱文本框.getText();
kucun=Integer.parseInt(庫(kù)存文本框.getText());
danjia=Float.valueOf(單價(jià)文本框.getText()).floatValue();
商品 goods=new 商品(daihao,mingcheng,kucun,danjia);
hashtable.put(daihao,goods);
try{FileOutputStream file=new FileOutputStream("goods.txt");
ObjectOutputStream out=new ObjectOutputStream(file);
out.writeObject(hashtable); out.close();
}
catch(IOException event){}
}
else if(e.getSource()==b_del)
{String daihao1=刪除文本框.getText();
try{FileInputStream come_in=new FileInputStream("goods.txt");
ObjectInputStream in=new ObjectInputStream(come_in);
hashtable=(Hashtable)in.readObject(); //////
in.close();
}
catch(ClassNotFoundException event){}
catch(IOException event){}
商品 temp=(商品)hashtable.get(daihao1);
{hashtable.remove(daihao1);}
try{FileOutputStream file=new FileOutputStream("goods.txt");
ObjectOutputStream out =new ObjectOutputStream(file);
out.writeObject(hashtable);//
out.close();
}
catch(IOException event){}
}
//
else if(e.getSource()==b_xun)
{ String aa;
aa=查詢文本框.getText();
查詢信息文本框.setText(null);
try{FileInputStream come_in=new FileInputStream("goods.txt");
ObjectInputStream in =new ObjectInputStream(come_in);
hashtable=(Hashtable)in.readObject(); ////
in.close();
}
catch(ClassNotFoundException event){}
catch(IOException event){}
商品 a=(商品)hashtable.get(aa);
查詢信息文本框.setText(" 代號(hào):"+a.代號(hào)+" 名稱:"+a.名稱+" 庫(kù)存:"+a.庫(kù)存+" 單價(jià):"+a.單價(jià));
}
//
else if(e.getSource()==b_xiu)
{ String bb;
bb=代號(hào)文本框.getText();
try{FileInputStream come_in=new FileInputStream("goods.txt");
ObjectInputStream in=new ObjectInputStream(come_in);
hashtable=(Hashtable)in.readObject(); //////
in.close();
}
catch(ClassNotFoundException event){}
catch(IOException event){}
商品 temp=(商品)hashtable.get(bb);
{hashtable.remove(bb);}
try{FileOutputStream file=new FileOutputStream("goods.txt");
ObjectOutputStream out =new ObjectOutputStream(file);
out.writeObject(hashtable);//
out.close();
}
catch(IOException event){}
String daihao1=null,mingcheng1=null;int kucun1=0;float danjia1=0.0f;
daihao1=代號(hào)文本框.getText();mingcheng1=名稱文本框.getText();
kucun1=Integer.parseInt(庫(kù)存文本框.getText());
danjia1=Float.valueOf(單價(jià)文本框.getText()).floatValue();
商品 goods1=new 商品(daihao1,mingcheng1,kucun1,danjia1);
hashtable.put(daihao1,goods1);
try{FileOutputStream file=new FileOutputStream("goods.txt");
ObjectOutputStream out=new ObjectOutputStream(file);
out.writeObject(hashtable); out.close();
}
catch(IOException event){}
}
//
else if(e.getSource()==b_show)
{ 顯示區(qū).setText(null);
try{FileInputStream come_in=new FileInputStream("goods.txt");
ObjectInputStream in =new ObjectInputStream(come_in);
hashtable=(Hashtable)in.readObject(); ////
}
catch(ClassNotFoundException event){}
catch(IOException event){}
Enumeration enum=hashtable.elements();
while(enum.hasMoreElements())
{ 商品 te=(商品)enum.nextElement();
顯示區(qū).append("商品代號(hào):"+te.代號(hào)+" ");
顯示區(qū).append("商品名稱:"+te.名稱+" ");
顯示區(qū).append("商品庫(kù)存:"+te.庫(kù)存+" ");
顯示區(qū).append("商品單價(jià):"+te.單價(jià)+" ");
顯示區(qū).append("\n ");
}
}
}
}
public class LinkListFour
{public static void main(String args[])
{ ShowWin win=new ShowWin();
win.setSize(400,350);
win.setVisible(true);
win.addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{ System.exit(0);}});
}
}
1、用netbeans編程,新建項(xiàng)目的時(shí)候選擇java應(yīng)用程序,再在項(xiàng)目里新建類選擇JFrame窗體,你就可以像畫畫一樣布置界面了
2、布置的時(shí)候?qū)⒂颐娲翱诳丶苯油线M(jìn)窗口進(jìn)行布局即可
3、你可以復(fù)制控件,然后貼貼,新的控件與復(fù)制的類型一樣,所有設(shè)定都一樣,除了變量名
4、右擊屬性里可以各種設(shè)置,不必你自己去敲各種set的代碼
5、在右擊的“事件”中可以選擇各種觸發(fā)事件,你只要一點(diǎn),就自動(dòng)跳到相關(guān)位置了,你在提示范圍內(nèi)敲入代碼就行了
有圖有真相
java后端的?種實(shí)現(xiàn)?式
java后端的?種實(shí)現(xiàn)?式
最近沒(méi)事在做?些?題?,遇到需要提供http restful接?,通過(guò)接?操作zookeeper實(shí)現(xiàn)增刪改查。雖然之前看過(guò)java后端的內(nèi)容,但是基本忘的差不多了,這次梳理了?下,都是?門的東西。??總結(jié)?,如有錯(cuò)誤還請(qǐng)多指正。
?先說(shuō)這次了解到的主要是三種?式:
第?種:servelet + jsp ?動(dòng)配置項(xiàng)較多,?框架
第?種:Spring框架 ?前應(yīng)該是后端主流實(shí)現(xiàn)?式吧
第三種:Spring boot 在Spring框架的基礎(chǔ)上進(jìn)?步簡(jiǎn)化了實(shí)現(xiàn)?式,通過(guò)?個(gè)注解就可以實(shí)現(xiàn)?動(dòng)配置。
?、 servelet + jsp?式
開始的想法,由于只是簡(jiǎn)單的需求,所以沒(méi)想引?Spring框架。這個(gè)應(yīng)該是依賴最少的?式了。
以idea為例,說(shuō)?下搭建過(guò)程:
參考:
?先項(xiàng)?應(yīng)該是web項(xiàng)?,這個(gè)在創(chuàng)建的時(shí)候可以選擇。如果?開始是maven項(xiàng)?,需要添加框架?持,添加完成后會(huì)?動(dòng)?成web?件夾和web.xml配置?件。如圖,在項(xiàng)?配置中添加就可以
添加完成后在artifacts選項(xiàng)卡中添加打包配置,點(diǎn)擊后會(huì)出現(xiàn)模塊選擇,選中確定就可以了。
成功以后如下,點(diǎn)擊ok關(guān)閉窗?就可以了,不需要其他配置。
然后開始編寫servelet代碼,繼承HttpServlet類,重寫doGet?法。只實(shí)現(xiàn)簡(jiǎn)單的打印?字到?頁(yè)的功能,不需要編寫jsp?件,只要servelet就可以實(shí)現(xiàn)。
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
response.setCharacterEncoding("UTF-8");
OutputStream out = response.getOutputStream();
out.write("hello".getBytes(StandardCharsets.UTF_8));
out.flush();
}
配置web.xml,按??的servelet類名??調(diào)整
servlet!--servlet類路徑配置--
servlet-nameUtilsServlet/servlet-name
servlet-classcom.baidu.servlet.UtilsServlet/servlet-class /servlet
servlet-mapping!--servlet類映射配置--
servlet-nameUtilsServlet/servlet-name
url-pattern/UtilsServlet/url-pattern ##?頁(yè)訪問(wèn)地址
/servlet-mapping
接下來(lái)配置tomcat應(yīng)?:
配置好以后就可以運(yùn)?了,瀏覽器地址輸?訪問(wèn)地址,然后在后?加上/UtilsServlet (按項(xiàng)?調(diào)整,web.xml??配置的servelet類訪問(wèn)路徑),就可以看到 輸出的?字了。當(dāng)然這?可以再doGet?法?實(shí)現(xiàn)各種邏輯,返回jsp頁(yè)? ,返回json結(jié)果等,?般項(xiàng)?是再加上?個(gè)service層(package),將復(fù)雜的業(yè)務(wù)邏輯放在service中。
?、Spring框架(未實(shí)現(xiàn),只是簡(jiǎn)單試了下搭建)
在之前的基礎(chǔ)上添加Spring的框架?持。
兩種?式:
1、還是在項(xiàng)?配置中添加
2、右鍵project – add framework support,這?雖然可以選擇單個(gè)的?持,但是好像選了Spring MVC后就會(huì)?動(dòng)包含所有組件(只選擇Spring MVC,下次再添加spring的框架?持時(shí),發(fā)現(xiàn)已經(jīng)找不到了,說(shuō)明應(yīng)該默認(rèn)所有都已添加),右邊選擇依賴位置,如果沒(méi)有下載好的jar包,可以選擇download,會(huì)在項(xiàng)?下?成lib?件夾,然后下載需要的jar包。也可以在maven添加依賴,這樣就可以做到?便管理了。
三、Spring boot
最簡(jiǎn)單的?式。不?添加任何框架?持,對(duì),Spring的也不需要,直接在pom?件中加上依賴就?,真?。
!-- 相關(guān)jar包 --
dependencies
!-- Springboot核?jar包 --
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter/artifactId
/dependency
!-- web開發(fā)包:包含Tomcat和Springmvc --
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-web/artifactId
/dependency
/dependencies
然后新建兩個(gè)類,添加?個(gè)注解就可以打印出來(lái)hello world。
可以參考這篇博?
注意項(xiàng)?結(jié)構(gòu),app類要在controller的上層(否則報(bào)錯(cuò):This application has no explicit mapping for /error, so you are seeing this as a fallback),同時(shí)需要新建?個(gè)package,不能將app類直接放在默認(rèn)java?件夾下,不然代碼會(huì)標(biāo)紅,原因是注解類型錯(cuò)誤,當(dāng)然可以改?其他注解來(lái)解決,我這?就不貼了。
¥
5.9
百度文庫(kù)VIP限時(shí)優(yōu)惠現(xiàn)在開通,立享6億+VIP內(nèi)容
立即獲取
java后端的幾種實(shí)現(xiàn)方式
java后端的?種實(shí)現(xiàn)?式
java后端的?種實(shí)現(xiàn)?式
最近沒(méi)事在做?些?題?,遇到需要提供http restful接?,通過(guò)接?操作zookeeper實(shí)現(xiàn)增刪改查。雖然之前看過(guò)java后端的內(nèi)容,但是基本忘的差不多了,這次梳理了?下,都是?門的東西。??總結(jié)?,如有錯(cuò)誤還請(qǐng)多指正。
?先說(shuō)這次了解到的主要是三種?式:
第?種:servelet + jsp ?動(dòng)配置項(xiàng)較多,?框架
第 1 頁(yè)
第?種:Spring框架 ?前應(yīng)該是后端主流實(shí)現(xiàn)?式吧
第三種:Spring boot 在Spring框架的基礎(chǔ)上進(jìn)?步簡(jiǎn)化了實(shí)現(xiàn)?式,通過(guò)?個(gè)注解就可以實(shí)現(xiàn)?動(dòng)配置。
?、 servelet + jsp?式
開始的想法,由于只是簡(jiǎn)單的需求,所以沒(méi)想引?Spring框架。這個(gè)應(yīng)該是依賴最少的?式了。
以idea為例,說(shuō)?下搭建過(guò)程:
參考:
分享題目:java倉(cāng)庫(kù)預(yù)警代碼 java庫(kù)存預(yù)警
路徑分享:http://muchs.cn/article46/docceeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、微信公眾號(hào)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、搜索引擎優(yōu)化、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)