Eclipse整合GlassFish编写JSP

学校开了J2EE的选修,老师讲课的起点有点高,对于我们没有什么web认识的学生来说,一开始就讲jsp,实在是听的人雨里雾里。琢磨了一下午的tomcat,还是不能正常启动。没办法,尝试了一下glassfish。

先是在oracle的网站down了最新的java ee sdk,里面就带了glassfish,安装的时候做了一些基本的配置。启动startserv后打开 127.0.0.1:8080,显示如下,证明服务已启动。不过手动启动觉得有点麻烦,eclipse能整合到glassfish就方便多了,于是查找了一些方法。

我使用的eclipse是Eclipse IDE for Java EE Developers,下载地址:http://www.eclipse.org/downloads/

打开eclipse—windows—preferences—server—-runtime environments,然后点add,出现以下界面


Linux下Eclipse设置汉字编码

今天把windows下的工程导入到了Linux下eclipse中,由于以前的工程代码,都是GBK编码的,而Ubuntu默认是不支持GBK编码的。所以,首先我们要先让Ubuntu支持GBK,方法如下:

  1. 修改/var/lib/locales/supported.d/local文件,在文件中添加 zh_CN.GBK GBK zh_CN.GB2312 GB2312

  2. sudo dpkg-reconfigure --force locales
    然后在输出的结果中会出现
    zh_CN.GB2312 done
    zh_CN.GBK done

这样, Ubuntu就支持GBK编码了, 下面设置eclipse。

首先Windows->Preferences, 然后选择General下面的Workspace. Text file encoding选择Other GBK, 如果没有GBK的选项, 没关系, 直接输入GBK三个字母, Apply, GBK编码的中文,已经不是乱码了。


java Applet实现播放音乐

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import java.applet.*;
import java.awt.event.*;
import java.awt.*;

@SuppressWarnings("serial")
public class music extends Applet
implements ActionListener
{
AudioClip audio;
Button btExit,btOpen,btPlay,btLoop,btStop;
/**
*
方法说明:初始化Applet
*
输入参数:
*
返回类型:
*/
public void init()
{
//加载声音文件
audio = getAudioClip(getDocumentBase(), "music.au");//这里放上你加在新建文件夹里面的歌曲名称,au格式
//构造按钮
setLayout(new FlowLayout());
btPlay = new Button("Play");
btPlay.addActionListener(this);
btLoop = new Button("Loop");
btLoop.addActionListener(this);
btStop = new Button("Stop");
btStop.addActionListener(this); //给Play按钮添加一个监听事件
//将按钮添加到Applet中
add(btPlay);
add(btLoop);
add(btStop);
}

public void actionPerformed(ActionEvent e)
{

//如果点击的是Play按钮
if (e.getSource() == btPlay)
{
play();
}
//如果点击的是loop按钮
if (e.getSource() == btLoop)
{
loop();
}
//如果点击的是stop按钮
if (e.getSource() == btStop)
{
stop();
}
}
/**
*
方法说明:播放声音
*
输入参数:
*
返回类型:
*/
public void play()
{
if (audio != null) stop();
audio.play();
}
/**
*
方法说明:循环播放声音
*
输入参数:
*
返回类型:
*/
public void loop()
{
if (audio != null)
audio.loop();
}
/**
*
方法说明:停止播放声音
*
输入参数:
*
返回类型:
*/
public void stop()
{
if (audio != null)
audio.stop();
}
}

java模拟四则运算软件

写这个程序也为了纪念王江民先生,话说当年他也是写过这个类似程序。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import java.applet.*;   
import java.awt.*;
import java.awt.event.*;

public class game extends Applet implements ActionListener{
//定义变量
int num1, num2, num3, jieguo, jilu, error = 0, right = 0, key = 0;
char op;
float percent = 0;
String res, lev;
Image labmag;
AudioClip audio1, audio2;
Label prompt1,prompt2;
TextField qus, ans, info;
Button next, enter, record;

public void init()
{
//初始化图片
labmag = getImage (getCodeBase(),"1.jpg");
//初始化音乐
audio1 = getAudioClip(getDocumentBase(),"Error.au");
audio2 = getAudioClip(getDocumentBase(),"Right.au");
qus = new TextField(15);
//初始化按钮,文本框
ans = new TextField(10);
info = new TextField(30);
enter = new Button("确定");
next = new Button("新题目");
record = new Button("记录");
prompt1 = new Label("问题:");
prompt2 = new Label("结果:");
//建立按钮和文本框
add(prompt1);
add(qus);
add(ans);
add(enter);
add(next);
add(record);
add(prompt2);
add(info);
//三个按钮的监听
next.addActionListener(this);
enter.addActionListener(this);
record.addActionListener(this);
}

public void paint(Graphics g)
{
//绘图
g.drawImage(labmag, 0,0,430,280,this);
}

public void actionPerformed(ActionEvent e)
{
if (e.getSource()==next)
{
//随机数生成
num1 = (int)(Math.random()*9);
num2 = (int)(Math.random()*9);
num3 = (int)(Math.random()*3);
switch(num3)
{
case 0 : op = '+'; jilu = num1+num2; break;
case 1 : op = '-'; jilu = num1-num2;break;
case 2 : op = '*'; jilu = num1*num2;break;
}
//考虑到整数除法带来的小数问题,暂时取消了生成除法
qus.setText(""+num1+op+num2+"=");
key = 1;
}
if (e.getSource()==enter)
{
if(ans.getText()!="")
jieguo = Integer.parseInt(ans.getText());
if (jieguo == jilu)
{
res="真棒,答对了!";
audio2.play(); //播放音乐
if (key == 1) //答对只记一次分
{
right++;
key = 0;
}
}
else
{
res = "答错了。别灰心!";
audio1.play(); //播放音乐
error++; //答错扣分
}
info.setText(""+res);
}
if (e.getSource()==record)
{
//级别判定
if (right > 0 && right <= 10)
lev = "懒羊羊";
if (right > 10 && right <= 23)
lev = "暖羊羊";
if (right > 23 && right <= 38)
lev = "沸羊羊";
if (right > 38 && right <= 56)
lev = "美羊羊";
if (right > 56 && right <= 76)
lev = "喜绵绵";
if (right > 76 && right <= 100)
lev = "软绵绵";
if (right > 100)
lev = "天神";
info.setText("答对" + right + "题" + " 答错" + error + "题" + " 等级:" + lev);
}
}
}