package com.em.systemmanage.web.action;
成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)由有經(jīng)驗的網(wǎng)站設(shè)計師、開發(fā)人員和項目經(jīng)理組成的專業(yè)建站團隊,負(fù)責(zé)網(wǎng)站視覺設(shè)計、用戶體驗優(yōu)化、交互設(shè)計和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、做網(wǎng)站、網(wǎng)站設(shè)計易于使用并且具有良好的響應(yīng)性。
//導(dǎo)入相關(guān)的包
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import com.em.bean.ExchFileForm;
import com.em.pub.XmlCreater;
import com.em.systemmanage.dao.ImportDataDao;
//action的名字為ImportDaoAction
public class ImportDaoDataAction extends Action{
//初始化一個私有的日志類,并獲取這個類的信息
private Logger logger = Logger.getLogger(this.getClass());
//初始化讀取XML的類
private XmlCreater xmlCreater = XmlCreater.getInstance();
//以下為aciton工作代碼
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
//打印日志
logger.debug("ImportDaoDataAction execute start!");
//實例化ExchFileForm
ExchFileForm fileForm = (ExchFileForm) form;
//判斷form是否為空,這里當(dāng)訪問頁面時,struts的form類會自動加載頁面上傳來的信息
if(fileForm == null) {
//為空的情況下,打印nonononono!
logger.debug("nonononononono!");
}
//不為空,獲取form傳來的file信息
FormFile file = fileForm.getFile();
//打印出11111111
logger.debug("111111111111");
//try catch 捕獲異常
try {
logger.debug("22222222222");
//實例化dao類
ImportDataDao dao = new ImportDataDao();
//使用DAO獲取file的輸入信息,賦值給String類型的變量str
String str = dao.importInvoiceManage(file.getInputStream());
//答應(yīng)出str的值
logger.debug("str=" + str);
//若str的值等于1
if("1".equals(str)) {
//使用request保存結(jié)果result,內(nèi)容為“導(dǎo)入成功”
request.setAttribute("result", "導(dǎo)入成功!");
} else {
//反之不等于1的話,保存結(jié)果result,內(nèi)容為“失敗”
request.setAttribute("result", "導(dǎo)入成本信息失敗,請檢查您上傳的文件是否正確!");
}
//此處在次打印出str的值
logger.debug("str=" + str);
} catch (Exception e) {
//捕獲異常
e.printStackTrace();
request.setAttribute("result", "導(dǎo)入成本信息失敗,請檢查您上傳的文件是否正確!");
}
//打印信息"importDaoDataAction execute end!"
logger.debug("importDaoDataAction execute end!");
//返回值,這里返回result,對應(yīng)的struts的config.xml里會有配置,映射到具體某個頁面
return mapping.findForward("result");
}
}
一、作用:1、可以大大的提高開發(fā)效率。代碼量非常大的項目,在某一行中需要在后續(xù)階段實現(xiàn)一個功能,如果不標(biāo)注下次再找的時候就非常困難了。2、在團隊合作中,還可以告訴別人某處敏感代碼的狀態(tài)。
二、以下為常見的兩種注釋標(biāo)記:1、// TODO: 表示在此處將要實現(xiàn)的功能,提醒你在后續(xù)階段將會在此處添加代碼
?
2、// FIXME: 表示此處的代碼邏輯有出入,或者根本不能運行,提醒你在后續(xù)階段將會修改此處代碼
?
3、// 在Eclipse中可以自定義標(biāo)記
例如: // XXX:表示此處的代碼雖然實現(xiàn)了功能,但是性能太低,提醒你需要在后續(xù)階段優(yōu)化;
AudioClip snd = JApplet.new AudioClip(mus);創(chuàng)建一個AudioClip對象
接口AudioClip 繼承java.applet所以java.applet也可以不寫
記得采納,祝你好運
//簡單選擇排序,按自然順序
public static void selectsort(int[] array){
int min, index, temp;
for(int i = 0; i array.length - 1; i++){ // N - 1 趟
min = i;
//查找選擇最小元素值的下標(biāo)索引值
for(index = i + 1; index array.length; index++){
if(array[min] array[index])
min = index;
}
//交換
if(min != i){
temp = array[min];
array[min] = array[i];
array[i] = temp;
}
}
}
import java.awt.*; // 導(dǎo)入相應(yīng)的awt工具組件
import java.awt.event.*;// 導(dǎo)入awt工具組件的事件類
/**
* 作用:calc類用于演示加法計算器的功能p
* @author 網(wǎng)絡(luò)用戶
* @version 1.0 2009-6-3
* @since JDK 1.5
*/
class calc extends WindowAdapter implements ActionListener
{
//以下聲明相關(guān)變量
Frame f; //窗口
// Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
Button b[] = new Button[10]; //10個按鈕,分別對應(yīng)數(shù)字0到9
Button be, badd, bc; //bc為=,badd為+,bc為歸0按鈕
TextField answer; //文本框answer用于顯示相加的結(jié)果
Panel p; //面板
String s = ""; //臨時變量,用于記住被加數(shù)
int t1, t2; //t1,t2分別表示被加數(shù),加數(shù)
/**
* 作用:main方法為程序運行的入口
* @param args
*/
public static void main( String args[] )
{
calc cg = new calc(); //創(chuàng)建一個calc類的對象
cg.go(); //調(diào)用go方法,顯示加法器界面,并完成加法功能
}
/**
* 作用:go()方法用于顯示加法器界面,并完成加法功能
*/
public void go()
{
p = new Panel(); //創(chuàng)建面板的對象,10個按鈕將在此面板對象上添加和顯示
answer = new TextField("0", 15); //設(shè)置文本框的默認(rèn)值為0,文本框的長度15個字符
b[0] = new Button("0"); //以下就是那10個按鈕,按鈕上的文本就是0到9的數(shù)字
b[1] = new Button("1");
b[2] = new Button("2");
b[3] = new Button("3");
b[4] = new Button("4");
b[5] = new Button("5");
b[6] = new Button("6");
b[7] = new Button("7");
b[8] = new Button("8");
b[9] = new Button("9");
be = new Button("="); //等號
badd = new Button("+"); //加號
bc = new Button("C"); //歸0按鈕
p.setLayout(new GridLayout(4, 3)); //將面板設(shè)置為4行3列,即12個格子,剛好可以存放地10個數(shù)字按鈕另加+號按鈕和=號按鈕,共12個按鈕
p.add(b[7]); //添加10個數(shù)字按鈕到面板上
p.add(b[8]);
p.add(b[9]);
p.add(b[4]);
p.add(b[5]);
p.add(b[6]);
p.add(b[1]);
p.add(b[2]);
p.add(b[3]);
p.add(b[0]);
for( int i = 0; i b.length; i++ )
b[i].addActionListener(this); //為10個數(shù)字按鈕添加事件監(jiān)聽器,以用于實現(xiàn)加法功能
p.add(be); //添加=號按鈕到面板上
p.add(badd); //添加+號按鈕到面板上
be.addActionListener(this); //為=號按鈕添加事件監(jiān)聽器,用于實現(xiàn)加法功能
badd.addActionListener(this); //為+號按鈕添加事件監(jiān)聽器,用于實現(xiàn)加法功能
f = new Frame("calc"); //創(chuàng)建一個Frame對象(窗口),窗口的標(biāo)題就是calc
f.setSize(300, 300); //窗口的大小為300*300像素
f.add(answer, "North"); //將文本框設(shè)置在窗口的北部(上),窗口的默認(rèn)布局為BorderLayout,即東西南北中5個位置
f.add(p, "Center"); //將面板設(shè)置在窗口的中部(中)
f.add(bc, "South"); //將歸0按鈕設(shè)置在窗口的南部(下)
bc.addActionListener(this); //為歸0按鈕添加事件監(jiān)聽器,用于將計算結(jié)果歸0
f.addWindowListener(this); //為窗口添加事件監(jiān)聽器,用于實現(xiàn)關(guān)閉窗口的功能
f.pack(); //此方法用于窗口到合適的大小
f.setVisible(true); //顯示窗口,為false時將不會顯示窗口
}
//在10個數(shù)字按鈕和3個功能按鈕上單擊,將觸發(fā)此方法
public void actionPerformed( ActionEvent e )
{
if( e.getSource() == bc )
{//單擊了歸0按鈕,設(shè)置為默認(rèn)值
s = "";
t1 = 0; //被加數(shù)設(shè)0
t2 = 0; //加數(shù)設(shè)0
answer.setText("0"); //文本框設(shè)為0
} else if( e.getSource() == badd )
{//單擊+號按鈕
t1 = Integer.parseInt(s); //記下被加數(shù)
s = "";
} else if( e.getSource() == be )
{//單擊=號按鈕
t2 = Integer.parseInt(s); //記下加數(shù)
t2 = t2 + t1; //把被加數(shù)與加數(shù)相加
answer.setText((new Integer(t2)).toString()); //在文本框上顯示相加的結(jié)果
} else
{//單擊0到9之間的任意一個數(shù)字按鈕
for( int i = 0; i b.length; i++ )
if( e.getSource() == b[i] )
{
System.out.println("1");
s = s + b[i].getActionCommand(); //獲得被單擊按鈕上的數(shù)字
answer.setText(s); //在文本框上顯示連續(xù)單擊那幾個數(shù)字
}
}
}
//關(guān)閉窗口,觸發(fā)此方法
public void windowClosing( WindowEvent ev )
{
System.exit(0); //退出程序
}
}