用javaweb怎么写
1.如何用java写一个webserver
你从VeryCD上下一个 MyEclipse8GA 软件 (Java 开发IDE工具),欢迎页面就有web service 的Demo,在其Help里有步骤,及代码。如果你的课程设计没有那么严格内容的话,完全没有问题。
很Easy,5分钟就能把 服务端和库户端建立起来。
如果还不明白的话,把你发纸条给我留言,我把 服务端和客户端 Demo代码给你,但是你还是需要下载 MyEclipse 8 GA 工具,否则你看起来会很难受 ^0^
Over!
2.我想用java写一个简单的web server,应该怎么写呀
我原来写过一个很简单的,可以指定你存放网页的文件夹,可以指定允许访问的IP,给你源码看看吧。
public class WebServer { static Button btReloadIP=new Button("更新合法IP列表"); static Button btAllow=new Button("允许此IP"); static Button btRepel=new Button("拒绝此IP"); static JTextField tfNewIP=new JTextField(20); static JPanel pane=new JPanel(); static JTextField tfState=new JTextField(25); static TextField tfURL=new TextField("G:\\webServer2\\",28); static TextField tfPort=new TextField("10288",3); static Button btStart=new Button("启动服务器"); static Button btStop=new Button("停止服务器"); private static int IPnum=0; public static boolean IPadmin=false; static boolean click=false; private static String url; private static String[] checkIP=new String[255]; private static Thread serverThread=null; private static Socket connectionSocket=null; private static ServerSocket listenSocket=null; public WebServer() throws IOException{ serverThread=new Thread(new Runnable(){ public void run(){ try { listenSocket = new ServerSocket(Integer.parseInt(tfPort.getText())); } catch (IOException e) { } while(true){ try { connectionSocket=listenSocket.accept(); @SuppressWarnings("unused") webClient client=new webClient(connectionSocket); } catch (IOException e) { } } } }); } public static void main(String args[])throws Exception{ GUI(); } public static void GUI(){ JFrame f=new JFrame("小白兔Web服务器(BY 丁寻)"); f.setSize(300,200); f.setLocation(500, 300); f.getContentPane().add(pane,BorderLayout.CENTER); f.(JFrame.EXIT_ON_CLOSE); f.setVisible(true); //不可以变大变小 f.setResizable(false); pane.add(new JLabel("端口号:")); pane.add(tfPort); pane.add(btStart); pane.add(btStop); pane.add(new JLabel("配置路径")); pane.add(tfURL); pane.add(tfState); pane.add(new JLabel("新IP请求")); pane.add(tfNewIP); pane.add(btAllow); pane.add(btRepel); pane.add(btReloadIP); btStart.addActionListener(new Listener()); btStop.addActionListener(new Listener()); btAllow.addActionListener(new Listener()); btRepel.addActionListener(new Listener()); btReloadIP.addActionListener(new Listener()); } static class Listener implements ActionListener { @SuppressWarnings("deprecation") public void actionPerformed(ActionEvent event) { if(event.getActionCommand()=="启动服务器"){ try { url=tfURL.getText(); readIP(); tfState.setText("服务器已经启动。
地址:" +InetAddress.getLocalHost().toString()); } catch (Exception e) { e.printStackTrace(); } try { new WebServer(); } catch (IOException e) { e.printStackTrace(); } serverThread.start(); btStart.setEnabled(false); tfPort.setEditable(false); btStop.setEnabled(true); tfURL.setEditable(false); btReloadIP.setEnabled(true); } if(event.getActionCommand()=="停止服务器"){ serverThread.stop(); tfState.setText("服务器已经停止"); btStart.setEnabled(true); tfPort.setEditable(true); btStop.setEnabled(false); tfURL.setEditable(true); btReloadIP.setEnabled(false); } if(event.getActionCommand()=="允许此IP"){ IPadmin=true; //serverThread.start(); click=true; btAllow.setEnabled(false); btRepel.setEnabled(false); tfNewIP.setText(null); } if(event.getActionCommand()=="拒绝此IP"){ click=true; IPadmin=false; //serverThread.start(); btAllow.setEnabled(false); btRepel.setEnabled(false); tfNewIP.setText(null); } if(event.getActionCommand()=="更新合法IP列表"){ try { readIP(); } catch (IOException e) { // e.printStackTrace(); } } } } public static void readIP() throws IOException{ int i=0; byte[] ips = new byte[65535]; File IPfile=new File(url+"checkIP.txt"); FileInputStream fileReader=new FileInputStream(IPfile); fileReader.read(ips); fileReader.close(); String strip=new String(ips); StringTokenizer getIP=new StringTokenizer(strip,System.getProperty("line.separator")); for(;;){ if(getIP.hasMoreTokens()){ checkIP[i]=getIP.nextToken(); System.out.println(checkIP[i]); i++; } else{break;} } IPnum=i; } public static void disconnect(webClient c){ try { //c.stop(); c.socket.close(); c.socket=null; c=null; } catch (IOException e) { e.printStackTrace(); } // } class webClient extends Thread{ boolean check=true; boolean send=false; Socket socket; BufferedReader inFromClient=null; DataOutputStream outToClient=null; String fileName; String requestMessageLine; StringTokenizer tokenizedLine=null; FileInputStream inFile=null; byte[] fileInBytes=null; int numOfBytes=0; File afile=new File(url+"log.html"); byte[] b; public webClient(Socket s) throws IOException{ FileOutputStream out=new FileOutputStream(afile,true); StringBuffer str=new StringBuffer(); 。
3.java web的项目需求怎么写
原发布者:vanquish6666
项目需求怎么写?(javaweb)A、三种编写方法 1、用好的结构化和自然语言编写文本型文档; 2、建立图形化模型,这些模型可以描绘转换过程、系统状态、和它们之间的变化、数据关系、逻辑流或对象类和他们的关系; 3、编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义需求。 多种编写方法可在同一个文档使用,根据需要选择,或互为补充,以能够把需求说明白为目的。 B、应有成果 1、各业务手工办理流程文字说明; 2、各业务手工办理流程图; 3、各业务手工办理各环节输入输出表单、数据来源; 4、目标软件系统功能划分(示意图及文字说明); 5、目标软件系统中各业务办理流程文字说明;6、目标软件系统中各业务办理流程图(模型); 7、目标软件系统中各业务办理各环节数据、数据采集方式、数据间的内在联系分析。 8、目标软件系统用户界面图、各式系统逻辑模型图及说明 C、文档工具推荐 1、调研结果《需求分析说明书》格式参照开发文档模板; 2、单位组织结构图、功能模块分解图用VISIO绘制,或直接用WORD中的画图工具; 3、业务流程图用VISIO中的FLOWCHART模板绘制; 4、系统逻辑模型使用ROSE绘制活用VISIO中的UML模板绘制; 5、软件用户界面用VISIO中的WIN95USERINTERFACE模板绘制; 6、数据物理模型用POWERDESINER绘制; D、需
javaweb服务怎么写
1.请教这个JAVAwebservice如何写
Java 中的 Web Service 分为基于 SOAP 的和基于 REST 的两种,下面简单说一个基于 SOAP 的例子。要使用 JDK6u4 之后的版本才能编译通过。
先编写一个 Web Service 的接口:
@WebService
@SOAPBinding(style = Style.RPC)
public interface TimeServer {
@WebMethod String getTimeAsString();
@WebMethod long getTimeAsElapsed();
}
再编写 Web Service 实现:
import java.util.Date;
import javax.jws.WebService;
@WebService(endpointInterface = "test.TimeServer")
public class TimeServerImpl implements TimeServer {
public String getTimeAsString() { return new Date().toString(); }
public long getTimeAsElapsed() { return new Date().getTime(); }
}
最后启动 Web Service:
public class TimeServerPublisher {
public static void main(String[ ] args) {
Endpoint.publish(", new TimeServerImpl());
}
}
2.java如何写webservice服务端
Java 中的 Web Service 分为基于 SOAP 的和基于 REST 的两种,下面简单说一个基于 SOAP 的例子。要使用 JDK6u4 之后的版本才能编译通过。
先编写一个 Web Service 的接口:
@WebService
@SOAPBinding(style = Style.RPC)
public interface TimeServer {
@WebMethod String getTimeAsString();
@WebMethod long getTimeAsElapsed();
}再编写 Web Service 实现:
import java.util.Date;
import javax.jws.WebService;
@WebService(endpointInterface = "test.TimeServer")
public class TimeServerImpl implements TimeServer {
public String getTimeAsString() { return new Date().toString(); }
public long getTimeAsElapsed() { return new Date().getTime(); }
}最后启动 Web Service:
public class TimeServerPublisher {
public static void main(String[ ] args) {
Endpoint.publish("http://127.0.0.1:9876/ts", new TimeServerImpl());
}
}
如果正常启动,可以用浏览器访问 http://127.0.0.1:9876/ts?wsdl 看到这个 Web Service 的 wsdl 文档。
3.如何用java写一个webserver
你从VeryCD上下一个 MyEclipse8GA 软件 (Java 开发IDE工具),欢迎页面就有web service 的Demo,在其Help里有步骤,及代码。如果你的课程设计没有那么严格内容的话,完全没有问题。
很Easy,5分钟就能把 服务端和库户端建立起来。
如果还不明白的话,把你发纸条给我留言,我把 服务端和客户端 Demo代码给你,但是你还是需要下载 MyEclipse 8 GA 工具,否则你看起来会很难受 ^0^
Over!
4.如何写一个简单的Web Service
本Guide利用Eclipse以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程:1.系统条件:Eclipse Java EE IDE for Web Developers Java SE 6 Windows XP2.基本环境搭建:1)Java SE6 JDK的安装:下载Java SE6 JDK,双击,安装默认选项进行安装即可。
2)Eclipse的安装与配置: 安装时直接解压。 配置处有两点,Window>Preferences>Java>Installed JREs确保如下设置: 安装路径可能略有不同。
Window>Preferences>Java>Compiler 确保如下设置:3.建立Server端工程和相关包与类:创建一个Java Project,命名为wsServerHelloWorld:在这个项目下建立包:org.gnuhpc.wsServer 在这个包下边建立类:SayHello 在SayHello.java文件中输入以下代码:package org.gnuhpc.wsServer; import javax.jws.WebService; @WebService public class SayHello { private static final String SALUTATION = "Hello"; public String getGreeting(String name) { return SALUTATION + " " + name; } } 其中注意到@WebService ,这个称作annotation或者metadata,Java SE 5中的Web Services Metadata Specification引入的。Java SE 6中对于Web Services规范的升级以及JAX-WS(Java API for XML Web Services)2.0规范,这些升级使得我们Web Services的创建和调用变得更加容易。
使用这些新功能,我们可以仅仅使用简单的Annotations注释从一个Java类创建Web Services。开发者将其类和方法之前用该annotations指定,类告诉runtime engine以Web Service的方式和操作来使能该类和方法。
这个annotations可以产生一个可布署的Web Service,是一个WSDL映射annotations,将Java源代码与代表Web Service的WSDL元素连接在了一起。4.使用Ant产生Server端代码:首先在项目中新建一个文件:build.xml,然后使用OpenWith>AntEditor打开,输入以下脚本代码:
它还生成WSDL和符合规范的该类的WebService。Target名称为wsgen,具体执行的命令的参数:-cp 为类路径-keep后产生的java文件-s 产生的源文件放在哪-d 产生的输出问价放在哪 然后使用Ant Build选项运行:在成功执行的提示后,我们刷新一下Project 我们在Project区域可以看到,结果如下:5.分布Web Service org.gnuhpc.wsServer下建立一个类RunService:package org.gnuhpc.wsServer; import javax.xml.ws.Endpoint; public class RunService { /** *@paramargs */ public static void main(String[] args) { System.out.println("SayHello Web Service started."); Endpoint.publish("http://localhost:8080/wsServerExample" , new SayHello()); } } 运行Run As>Java Application。
我们得到结果,说明这个web service的Server端已经启动。6.查看WSDL:Window>Show View>Other>General>Internal Web Browser,在其中输入:http://localhost:8080/wsServerExample?wsdl 你可以看看到底WSDL都记录了哪些信息。
看完后可以停止该Server。7.监测Server 我们创建完Server可以用过Eclipse Web Services Explorer监测Server,Window>Open Perspective>Other >JavaEE 打开Eclipse Web Services Explorer 点击右上角的WSDL Page按钮: 单击WSDL Main,在URL中输入:http://localhost:8080/wsServerExample?wsdl 按Go按钮后出现一下视图:我们可以触发一个Web Service操作:点击getGreetings,添加一个参数,比如gnuhpc,然后点击Go按钮:8.创建Client端 工程和相关包与类:创建一个Java Project,命名为wsClientHelloWorld,在这个项目下建立包:org.gnuhpc.wsClient9.使用Ant产生Client代码框架:编写Web service时,可以使用工具来利用WSDL生成进行调用的客户端桩;或者也可以使用底层API来手动编写Web service。
前者方便,后者灵活,现在我们通过前者做说明:新建文件build.xml New>File>build.xml
运行Server的RunService : Run As>Java Application> 运行该Ant脚本,产生Client代码:Run As>Ant Build 运行成功的提示如下:生成的代码如下:这一步读取WSDL并生成客户端桩。这些桩是将为我们的代码所用的Java类和接口。
这些桩给服务器端功能提供了一个客户端接口。例如,如果。
5.java web的项目需求怎么写
原发布者:vanquish6666
项目需求怎么写?(javaweb)A、三种编写方法 1、用好的结构化和自然语言编写文本型文档; 2、建立图形化模型,这些模型可以描绘转换过程、系统状态、和它们之间的变化、数据关系、逻辑流或对象类和他们的关系; 3、编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义需求。 多种编写方法可在同一个文档使用,根据需要选择,或互为补充,以能够把需求说明白为目的。 B、应有成果 1、各业务手工办理流程文字说明; 2、各业务手工办理流程图; 3、各业务手工办理各环节输入输出表单、数据来源; 4、目标软件系统功能划分(示意图及文字说明); 5、目标软件系统中各业务办理流程文字说明;6、目标软件系统中各业务办理流程图(模型); 7、目标软件系统中各业务办理各环节数据、数据采集方式、数据间的内在联系分析。 8、目标软件系统用户界面图、各式系统逻辑模型图及说明 C、文档工具推荐 1、调研结果《需求分析说明书》格式参照开发文档模板; 2、单位组织结构图、功能模块分解图用VISIO绘制,或直接用WORD中的画图工具; 3、业务流程图用VISIO中的FLOWCHART模板绘制; 4、系统逻辑模型使用ROSE绘制活用VISIO中的UML模板绘制; 5、软件用户界面用VISIO中的WIN95USERINTERFACE模板绘制; 6、数据物理模型用POWERDESINER绘制; D、需
用java怎么写脚本
1.什么是java脚本
Java脚本语言就是JavaScript
JavaScript,是一种基于对象的脚本语言。网景通讯公司最初在它的Navigator 2.0产品上设计并实现的,原名LiveScript。目前已经在WWW上广泛用于动态Web页面的编程语言。
Java脚本语言的目的是增加HTML的互动性
Java脚本语言是一种轻量级的编程语言,
Java脚本语言通常直接嵌入HTML页
Java脚本语言是一种解释性语言(脚本的执行无需翻译)
2.java脚本里怎么写javascript
HTML中标签的id是唯一的,document.all返回的应该个数组,通过id去找标签,只能找到一个,就是最后一个id等于你所指的那个。
你看看我给你的是不是你想要的结果:
<script>
function show(isChecked,showName,num){
for(var n = 1; n <= num; n++){
document.getElementById(showName + n).style.display=isChecked ? 'block' : 'none';
}
}
</script>
<div>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td><input name=checkbox2 type=checkbox onclick="show(this.checked,'jf',2)">aaa</td>
<td><input name=checkbox3 type=checkbox onclick="show(this.checked,'eth',2)">bbb</td>
<td><input name=checkbox5 type=checkbox onclick="show(this.checked,'grid',2)">ccc</td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td id="jf1" style="display:none">aaa</td>
<td id="eth1" style="display:none">bbb</td>
<td id="grid1" style="display:none">ccc</td></td>
</tr>
<tr>
<td id="jf2" style="display:none">aaa</td>
<td id="eth2" style="display:none">bbb</td>
<td id="grid2" style="display:none">ccc</td></td>
</tr>
</table>
</div>
3.帮忙做一个JAVA脚本
<body>
<form action="">
which color:<br>
<select id="color" name="color">
<option value="white">white</option>
<option value="red">red</option>
<option value="bule">bule</option>
</select><br>
<textarea rows="4" cols="20" name="text" id="text"></textarea><br>
所在国家:<input type="text" name="county" id="county"><br>
请输入用户口令:<input type="password" name="password" id="password"><br>
<input name="cp_type" type="checkbox" id="cp_type" value="1" />
隐藏文字
<input name="cp_type" type="checkbox" id="cp_type" value="2" />
垂直滚动 <br>
按钮1:<input type="radio" name="a" value="1">yes
<input type="radio" name="a" value="2">no
<br><hr>
按钮2:<input type="radio" name="b" value="1">yes
<input type="radio" name="b" value="2">no<br>
<input type="reset" value="重置"><input type="submit" value="发送">
</form>
</body>
4.java脚本是什么东西
java
概要
Java包含了一种计算机编程语言和一个平台。
Java编程语言是一种高级语言。由Sun微系统公司发布,并作为一种开放的标准进行提供。
Java平台包括了Java虚拟机和Java应用程序接口(API)。
Java将原程序编译成字节码(bytecode),并通过Java虚拟机(JVM)解释字节码的方式来执行。因为这种运行方式,只要针对不同的计算机平台准备相应的Java虚拟机,就可以很方便的实现Java语言的跨平台性。
因此,Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。
Java的主要应用有如下几点:
*利用浏览器中的Java虚拟机运行于客户端的Applet。
*利用本地虚拟机运行的Java应用程序,通常利用Swing或SWT等来编写跨平台的GUI界面系统。
*通过编写Servlet/JSP来提供网络服务,运行于网络应用程序服务器中。
*利用嵌入式Java虚拟机运行于手机等移动设备的Java应用程序,使用J2ME API。
Java的产生
Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。
Java的取名也有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。
5.jsp中java脚本的使用方式
jsp 调用动态代码策略
使用 mvc, 由一个 servlet 负责处理最初的请求, 查找数据, 并将结果存储在 bean中, 然后将请求转发到 jsp 页面来提交最后的结果, jsp 页面使用 bean.
java 代码位置
现在 jsp 页面的 java 代码量, 最好将一些 java 代码放在类中, 然后将 java 类放在 WEB-INF/classes/directory/MachingPackageName, 然后使用 1或2行基于jsp的代码调用它. 原因如下:
1. 开发, 我们一般在面向对象的开发环境编写常规类(java), 在面向html环境中, 比如 dreadweaver, 编写jsp.
2. 编译, 要编译常规的 java 类, 秩序在IDE中编译即可, 要编译JSP页面, 则必须将它放到正确的目录中, 启动服务器.
3. 调试, 单独环境的 IDE 调试更加方便
4. 工作划分, 精通java人员只关注java, 精通html人员关注html.
5. 测试, 可以单独测试
6. 重用. 可以在多个jsp页面利用相同的 java 类.
包是十分重要的, 将所有的类都放在包中.
jsp 表达式的使用
jsp 表达式用来将值直接插入到输出中,
该表达式在求值, 转换成字符串后, 插入到页面中, 求值是在运行期间执行(在页面被请求时), 因此可以访问到请求的所有信息.
例如: Current time:
预定义变量, request, reponse, session, out, application
java退出怎么写
1.java 程序的退出
你写个测试来看执行情况,比如在调用exit之前让它打一条语句,结果会是不执行,也就说程序根本没执行exit语句。一般处理那个小叉用这样的语句frame.setDefaultCloseOption(JFrame.EXIT_ON_CLOSE);//frame 是你的窗口,如果不是JFrame类型的,看看Frame类里有相应的字段(常量)
这样当你点击小叉时,程序就会全部结束了。
注:你说的那种情况很正常,界面不显示了,但是程序正正常运行着,界面也没销毁,只是隐藏了,不可见了。
2.实现界面登陆,退出功能的java代码怎么写
CS结构系统的退出如下:public void init() {
this.setTitle("用户登录界面");
this.add(createCenterPane());
this.(this.DO_NOTHING_ON_CLOSE);
this.setSize(new Dimension(450, 335));
this.setLocationRelativeTo(null);
// this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int choose = JOptionPane.showConfirmDialog(null, "是否要退出登录界面?",
"系统提示:", JOptionPane.YES_NO_OPTION);
if (choose == JOptionPane.YES_OPTION) {
System.exit(1);
}
}
});
}其中this为JFrame对象。BS结构的退出直接用windows.close()方法就行了!
3.java 程序的退出
你写个测试来看执行情况,比如在调用exit之前让它打一条语句,结果会是不执行,也就说程序根本没执行exit语句。
一般处理那个小叉用这样的语句frame.setDefaultCloseOption(JFrame.EXIT_ON_CLOSE);//frame 是你的窗口,如果不是JFrame类型的,看看Frame类里有相应的字段(常量)这样当你点击小叉时,程序就会全部结束了。注:你说的那种情况很正常,界面不显示了,但是程序正正常运行着,界面也没销毁,只是隐藏了,不可见了。
4.用java编写的自动按键如何退出
问题在你的keypress处理中
while (true) {
// System.out.println(1);
if (e.getKeyCode() == KeyEvent.VK_F2) {
jfFrame.dispose();
}
if (e.getKeyCode() == KeyEvent.VK_F1)
try {
flash();
} catch (AWTException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
当按下F1时,while循环将一直执行if(。.= KeyEvent.VK_F1)内的代码,此时查看系统CPU一定会发现占用较高。
同时,新的按键F2事件无法得到调用,因为CPU在忙着执行while的代码。
改动的办法很简单,F5的触发就相当于是一个自动机,F1是触发F5的自动运行,F2是终止运行
只需要将F5触发的事件监听跟F2,F1都绑定到keypress函数中去,然后当检查到按键是F5时,则重新创建robot对象,延迟5秒触发keypress。
改动代码如下:
public void keyPressed(KeyEvent e) {
//System.out.println(e.getKeyCode());
//while (true) { //删除
// System.out.println(1);
//追加F5的处理
if(e.getKeyCode() == KeyEvent.VK_F5){
//重新创建robot执行计划
flash();
return; //结束事件处理,优化性能
}
if (e.getKeyCode() == KeyEvent.VK_F2) {
jfFrame.dispose();
return; //阻止代码继续执行
}
if (e.getKeyCode() == KeyEvent.VK_F1)
try {
flash();
} catch (AWTException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//} //删除end while
}
5.用java编写的自动按键如何退出
问题在你的keypress处理中
while (true) {
// System.out.println(1);
if (e.getKeyCode() == KeyEvent.VK_F2) {
jfFrame.dispose();
}
if (e.getKeyCode() == KeyEvent.VK_F1)
try {
flash();
} catch (AWTException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
当按下F1时,while循环将一直执行if(。.= KeyEvent.VK_F1)内的代码,此时查看系统CPU一定会发现占用较高。
同时,新的按键F2事件无法得到调用,因为CPU在忙着执行while的代码。
改动的办法很简单,F5的触发就相当于是一个自动机,F1是触发F5的自动运行,F2是终止运行
只需要将F5触发的事件监听跟F2,F1都绑定到keypress函数中去,然后当检查到按键是F5时,则重新创建robot对象,延迟5秒触发keypress。
改动代码如下:
public void keyPressed(KeyEvent e) {
//System.out.println(e.getKeyCode());
//while (true) { //删除
// System.out.println(1);
//追加F5的处理
if(e.getKeyCode() == KeyEvent.VK_F5){
//重新创建robot执行计划
flash();
return; //结束事件处理,优化性能
}
if (e.getKeyCode() == KeyEvent.VK_F2) {
jfFrame.dispose();
return; //阻止代码继续执行
}
if (e.getKeyCode() == KeyEvent.VK_F1)
try {
flash();
} catch (AWTException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//} //删除end while
}
java怎么写验证码
1.验证码部分的java代码怎么写
package com.bbs.servlet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.>
5.请教前辈们~怎么用JAVA写验证码那块程序~~
import java.util.Random;class Random_number { String str = ""; Random ran = new Random(); char[] chr = str.toCharArray(); int chrlong = chr.length; String rnumber = ""; public Random_number() { } public String randomNumber(int n) { int k; for (int i = 0; i < n; i++) { k = ran.nextInt(35); if (rnumber.indexOf(chr[k]) == -1) {//判读验证新生成的验证码是否与前面的重复 // System.out.println(chr[k]); rnumber = rnumber + chr[k]; } else {//如果重复重新生成 i--; continue; } } return rnumber; }}//测试类public class test { public static void main(String[] args) { Random_number number = new Random_number(); System.out.println(number.randomNumber(4)); }}。
6.java验证码怎么做
下面是实现验证码中,最难的一块----画图片,我这个支持中文验证码,我把代码贴上,如果要整个项目的话,我发给你。
package SMART.JRSOFT.IDENTTIFYINGCODE;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.mons.lang.RandomStringUtils;public class getimg extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; /** * Constructor of the object. */ public getimg() { super(); } /** * Destruction of the servlet. */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0);// 定义图片长度和宽度 int width=176, height=30;// 创建内存图像 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); Random random = new Random(); // 验证码图形显示为数字和英文字母 g.setColor(getRandColor(200,250)); g.fillRect(0, 0, width, height); g.setFont(new Font("Times New Roman",Font.BOLD,18)); g.setColor(new Color(255,255,255)); g.drawRect(0,0,width-1,height-1); g.setColor(getRandColor(160,200)); for (int i=0;i<155;i++) { int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); g.drawLine(x,y,x+xl,y+yl); }// 随机获取四位字母或数字型字符 String s = RandomStringUtils.random(4,false,true); g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));// 将字符画到图片上 g.drawString(s,6,20);/* 显示汉字验证码 // 设置备选汉字,剔除一些不雅的汉字 String base = "\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec\u6709\u6765\u4ed6\u8fd9\u4e0a\u7740\u4e2a\u5730\u5230\u5927\u91cc\u8bf4\u5c31\u53bb\u5b50\u5f97\u4e5f\u548c\u90a3\u8981\u4e0b\u770b\u5929\u65f6\u8fc7\u51fa\u5c0f\u4e48\u8d77\u4f60\u90fd\u628a\u597d\u8fd8\u591a\u6ca1\u4e3a\u53c8\u53ef\u5bb6\u5b66\u53ea\u4ee5\u4e3b\u4f1a\u6837\u5e74\u60f3\u751f\u540c\u8001\u4e2d\u5341\u4ece\u81ea\u9762\u524d\u5934\u9053\u5b83\u540e\u7136\u8d70\u5f88\u50cf\u89c1\u4e24\u7528\u5979\u56fd\u52a8\u8fdb\u6210\u56de\u4ec0\u8fb9\u4f5c\u5bf9\u5f00\u800c\u5df1\u4e9b\u73b0\u5c71\u6c11\u5019\u7ecf\u53d1\u5de5\u5411\u4e8b\u547d\u7ed9\u957f\u6c34\u51e0\u4e49\u4e09\u58f0\u4e8e\u9ad8\u624b\u77e5\u7406\u773c\u5fd7\u70b9\u5fc3\u6218\u4e8c\u95ee\u4f46\u8eab\u65b9\u5b9e\u5403\u505a\u53eb\u5f53\u4f4f\u542c\u9769\u6253\u5462\u771f\u5168\u624d\u56db\u5df2\u6240\u654c\u4e4b\u6700\u5149\u4ea7\u60c5\u8def\u5206\u603b\u6761\u767d\u8bdd\u4e1c\u5e2d\u6b21\u4eb2\u5982\u88ab\u82b1\u53e3\u653e\u513f\u5e38\u6c14\u4e94\u7b2c\u4f7f\u5199\u519b\u5427\u6587\u8fd0\u518d\u679c\u600e\u5b9a\u8bb8\u5feb\u660e\u884c\u56e0\u522b\u98de\u5916\u6811\u7269\u6d3b\u90e8\u95e8\u65e0\u5f80\u8239\u671b\u65b0\u5e26\u961f\u5148\u529b\u5b8c\u5374\u7ad9\u4ee3\u5458\u673a\u66f4\u4e5d\u60a8\u6bcf\u98ce\u7ea7\u8ddf\u7b11\u554a\u5b69\u4e07\u5c11\u76f4\u610f\u591c\u6bd4\u9636\u8fde\u8f66\u91cd\u4fbf\u6597\u9a6c\u54ea\u5316\u592a\u6307\u53d8\u793e\u4f3c\u58eb\u8005\u5e72\u77f3\u6ee1\u65e5\u51b3\u767e\u539f\u62ff\u7fa4\u7a76\u5404\u516d\u672c\u601d\u89e3\u7acb\u6cb3\u6751\u516b\u96be\u65e9\u8bba\u5417\u6839\u5171\u8ba9\u76f8\u7814\u4eca\u5176\u4e66\u5750\u63a5\u5e94\u5173\u4fe1\u89c9\u6b65\u53cd\u5904\u8bb0\u5c06\u5343\u627e\u4e89\u9886\u6216\u5e08\u7ed3\u5757\u8dd1\u8c01\u8349\u8d8a\u5b57\u52a0\u811a\u7d27\u7231\u7b49\u4e60\u9635\u6015\u6708\u9752\u534a\u706b\u6cd5\u9898\u5efa\u8d76\u4f4d\u5531\u6d77\u4e03\u5973\u4efb\u4ef6\u611f\u51c6\u5f20\u56e2\u5c4b\u79bb\u8272\u8138\u7247\u79d1\u5012\u775b\u。
7.java怎么生成验证码图片
以下仅供参考:
这是jsp页面,起个名字例如叫image.jsp:
<%@ page contentType="image/JPEG"
import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"
pageEncoding="GBK"%><%!Color getRandColor(int fc, int bc) {
Random random = new Random();
if (fc > 255)
fc = 255;
if (bc > 255)
bc = 255;
int r = fc + random.nextInt(bc - fc);
int g = fc + random.nextInt(bc - fc);
int b = fc + random.nextInt(bc - fc);
return new Color(r, g, b);
}%><%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
int width = 60, height = 20;
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
Random random = new Random();
g.setColor(getRandColor(200, 250));
g.fillRect(0, 0, width, height);
g.setFont(new Font("Times New Roman", Font.PLAIN, 18));
g.setColor(getRandColor(160, 200));
for (int i = 0; i < 100; i++) {
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x, y, x + xl, y + yl);
}
String sRand = "";
for (int i = 0; i < 4; i++) {
String rand = String.valueOf(random.nextInt(10));
sRand += rand;
g.setColor(new Color(20 + random.nextInt(110), 20 + random
.nextInt(110), 20 + random.nextInt(110)));
g.drawString(rand, 13 * i + 6, 16);
}
session.setAttribute("code", sRand);
g.dispose();
ImageIO.write(image, "JPEG", response.getOutputStream());
%>
在你需要引入的地方:
<img border=0 src="image.jsp">
就可以了。
8.java 验证码
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int width=500, height=250;//设置图片大小 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 获取图形上下文 Graphics g = image.getGraphics(); // 生成随机类 Random random = new Random(); // 设定背景色 Color c = new Color(255-random.nextInt(100),255-random.nextInt(100),255-random.nextInt(100)); g.setColor(c); g.fillRect(0,0,100,100); // 设定字体 g.setFont(new Font("Times New Roman",Font.PLAIN,18)); // 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到 for (int i=0;i<1550;i++) { Color cx = new Color(random.nextInt(100),random.nextInt(100),random.nextInt(100)); g.setColor(cx); int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); g.drawLine(x,y,x+xl,y+yl); } // 取随机产生的认证码(4位数字) String sRand=""; for (int i=0;i<4;i++){ String rand=""; if(i==2){ rand=String.valueOf(random.nextInt(10)); }else{ rand = String.valueOf((char)('a'+random.nextInt(26))); if(random.nextBoolean()) rand = rand.toUpperCase(); } sRand+=rand; // 将认证码显示到图象中 g.setColor(new Color(random.nextInt(110),random.nextInt(110),random.nextInt(110))); g.drawString(rand,9*i+6,16+random.nextInt(4)*2);//绘制文本,以及文本位置 } // 将认证码存入SESSION request.getSession().setAttribute("rand",sRand); // 图象生效 g.dispose(); // 输出图象到页面 ImageIO.write(image, "JPEG", response.getOutputStream()); } Color getRandColor(int fc,int bc){//给定范围获得随机颜色 Random random = new Random(); if(fc>255) fc=255; if(bc>255) bc=255; int r = 255-random.nextInt(100); int g = 255- random.nextInt(100); int b = 255- random.nextInt(100); return new Color(r,g,b); }。
java怎么写页面
1.怎么用java写一个界面怎么用java写一个界面
新建一个窗口,然后实现一个关闭按钮”窗口的功能
import java.awt.*;
import java.awt.event.*;
public class TestWindowEvent {
public static void main (String[] args) {
new Frame88 ("WindowAdapter");
}
}
class Frame88 extends Frame {
Frame88 (String s) {
super(s);
setBounds (300,300,200,70);
setLayout (null);
setVisible (true);
addWindowListener (new WindowAdapter() {
public void windowClosing(WindowEvent e) {
setVisible (false);
System.exit(0);
}
} );
}
}
2.怎么用java来编写网页
怎么用java来编写网页,目前比较流行的是SSH(struts2+spring+hibernate)框架。其实只要有servlet和JSP基础就可以实现,框架只是高效的开发和管理。
推荐使用SSH框架进行开发。
使用struts2来实现页面跳转,他的标签也可以写JSP界面。
使用hibernate来进行数据库操作的封装,进行自动管理。
使用spring可以整合以上两个,使控制权转移给spring,这个就是控制反转。
具体页面怎么写,这个多看下工具书不难。前台页面可以使用HTML来写,解析速度快,并且页面开发难度低,排版效果好。
附上SSH实例参考文献:
.oristand.cn;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class QQlogin extends JFrame{
public QQlogin()
{
JFrame jf= new JFrame("QQ登陆界面");
jf.setLayout(new GridLayout(5,1,5,5));
JPanel jp=new JPanel();
JLabel jl=new JLabel("欢迎登陆");
jp.add(jl);
jf.add(jp);
JPanel jp1=new JPanel();
JLabel jl1=new JLabel("用户名");
JTextField jt=new JTextField(10);
jp1.add(jl1);
jp1.add(jt);
jf.add(jp1);
JPanel jp2=new JPanel();
JLabel jl2=new JLabel("密码");
JTextField jt1=new JPasswordField(10);
jp2.add(jl2);
jp2.add(jt1);
jf.add(jp2);
JPanel jp3=new JPanel();
JButton jb=new JButton("登陆");
JButton jb1=new JButton("注册");
JButton jb2=new JButton("设置");
jp3.add(jb);
jp3.add(jb1);
jp3.add(jb2);
jf.add(jp3);
JLabel jl3=new JLabel();
jf.add(jl3);
jf.setSize(300,400);
jf.setVisible(true);
jf.setResizable(false);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
new QQlogin();
}
}
6.java学到哪里才能写出一个界面啊
Java应用程序用户界面开发包
Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。
工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event
用Swing创建图形界面步骤:
(1)导入Swing包
(2)选择界面风格
(3)设置顶层容器
(4)设置按钮和标签
(5)将组件放到容器上
(6)为组件增加边框
(7)处理事件
(8)辅助技术支持
1。导入Swing包
下面语句导入Swing包
import javax.swing.*;
大部分Swing程序用到了AWT的基础底层结构和事件模型,因此需要导入两个包:
import java.awt.*;
import java.awt.event.*;
如果图形界面中包括了事件处理,那么还需要导入事件处理包:
import javax.swing.event.*;
2.选择界面风格
Swing允许选择程序的图形界面风格常用的有java风格,windows风格等
下面的代码用于选择图形界面风格,这里选择的是跨平台的Java界面风格。
try { UIManager.setLookAndFeel(
UIManager.getCrossPlatformLookAndFeelClassName( )); }
catch (Exception e) { }
(3) 设置顶层容器
图形界面至少要有一个顶级Swing容器
顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持
常用的顶级容器:
JFrame(框架):表示主程序窗口
JDialog(对话框):每个JDialog对象表示一个对话框,对话框属于二级窗口
JApplet(小程序):在浏览器内显示一个小程序界面
一个框架包括边界、菜单栏、工具栏、状态栏,以及中间占主要部分的窗格
窗格也可以看作是一种面板,但它是框架的一个组成部分
组件不会直接放到框架上,而是放在若干个面板上,这些面板再放到窗格上
用框架对象的getContentPane()函数来获得窗格,再调用窗格的add()函数放置面板
public static void main(String[ ]args){JFrame frame=new JFrame("SwingApplication");
JPanel panel1=new JPanel();
frame.getContentPane().add(panel1,BorderLayout.CENTER);
。//添加其他组件
frame.pack();frame.setVisible(true);}
7.用java写界面注册怎么写
package com.demo.client;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.*; public class RegistFrame extends JFrame implements ActionListener{ String serverIp = null; int port = 0; String strSex = ""; int PswProtectNum; String area = ""; JLabel labUserId; JLabel labChatname; JLabel labPsw; JLabel labRePsw; JLabel labPswQst; JLabel labPswAns; JLabel labAge; JLabel labArea; JLabel labSex; JTextField txtUserID; JTextField txtChatname; JPasswordField txtPsw; JPasswordField txtRePsw; JComboBox comPswQst; JTextField txtPswAns; JTextField txtAge; JComboBox comArea; JRadioButton rad1,rad2,rad3; JButton btnSubmit; JButton btnCancel; JPanel p0,p1,p3,p4,p5,p6,p7,p8,p9,p10; ItemListener listener1 = new ItemListener() { public void itemStateChanged(ItemEvent e) { // TODO Auto-generated method stub JRadioButton button = (JRadioButton)e.getItemSelectable(); if (button == rad1)strSex = "男"; if (button == rad2)strSex = "女"; if (button == rad3)strSex = ""; } }; ItemListener listener2 = new ItemListener() { public void itemStateChanged(ItemEvent e) { // TODO Auto-generated method stub JComboBox box = (JComboBox)e.getItemSelectable(); if(box == comPswQst){ PswProtectNum = comPswQst.getSelectedIndex(); } if(box == comArea){ area = comArea.getSelectedItem().toString(); } } }; public RegistFrame(String serverIp,int port) { this.serverIp = serverIp; this.port = port; p0 = new JPanel(); labUserId = new JLabel("*帐号:"); txtUserID = new JTextField(20); txtUserID.setEditable(true); p0.add(labUserId); p0.add(txtUserID); p1 = new JPanel(); labChatname = new JLabel("*昵称:"); txtChatname = new JTextField(20); txtChatname.setEditable(true); p1.add(labChatname); p1.add(txtChatname); p3 = new JPanel(); labPsw = new JLabel("*请输入密码:"); txtPsw = new JPasswordField(20); p3.add(labPsw); p3.add(txtPsw); p4 = new JPanel(); labRePsw = new JLabel("*请再次输入密码:"); txtRePsw = new JPasswordField(20); p4.add(labRePsw); p4.add(txtRePsw); p5 = new JPanel(); labPswQst = new JLabel("请设定密码保护问题:"); String [] strQst = { "", "您母亲的姓名是?", "您父亲的职业是?", "您配偶的生日是?", "您的学号(工号)是?", "您母亲的生日是?", "您高中班主任的姓名是?", "您父亲的姓名是?", "您的出生地是?", "您小学班主任的姓名是?", "您配偶的姓名是?" }; comPswQst = new JComboBox(strQst); comPswQst.addItemListener(listener2); p5.add(labPswQst); p5.add(comPswQst); p6 = new JPanel(); labPswAns = new JLabel("请设定密码保护答案:"); txtPswAns = new JTextField(20); p6.add(labPswAns); p6.add(txtPswAns); p7 = new JPanel(); labAge = new JLabel("您的性别是:"); rad1 = new JRadioButton("我是帅哥!"); rad1.addItemListener(listener1); rad2 = new JRadioButton("我是美女!"); rad2.addItemListener(listener1); rad3 = new JRadioButton("我不告诉你!"); rad3.addItemListener(listener1); ButtonGroup group = new ButtonGroup(); group.add(rad1); group.add(rad2); group.add(rad3); p7.add(labAge); p7.add(rad1); p7.add(rad2); p7.add(rad3); p8 = new JPanel(); labArea = new JLabel("请选择您的地区:"); String [] strArea = { "我是南方人", "我是北方人", "我是东北人", "我是西北人", "我是西南人" }; comArea = new JComboBox(strArea); comArea.addItemListener(listener2); p8.add(labArea); p8.add(comArea); p9 = new JPanel(); labAge = new JLabel("您的年龄是:"); txtAge = new JTextField(15); p9.add(labAge); p9.add(txtAge); p10 = new JPanel(); btnSubmit = new JButton("提交"); btnSubmit.addActionListener(this); btnCancel = new JButton("取消"); btnCancel.addActionListener(this); p10.add(btnSubmit); p10.add(btnCancel); getContentPane().setLayout(new GridLayout(10,1)); getContentPane().add(p0); getContentPane().add(p1); getContentPane().add(p3); getContentPane().add(p4); getContentPane().add(p5); getContentPane().add(p6); getContentPane().add(p7); getContentPane().add(p8); getContentPane().add(p9); getContentPane().add(p10); setTitle("注册新用户"); pack(); setResizable(false); setDefaultCloseOperation(RegistFrame.DISPOSE_ON_CLOSE); Toolkit tk=Toolkit.getDefaultToolkit(); setLocation((tk.getScreenSize().width-getSize().width)/2,(tk.getScreenSize().height-getSize().height)/2); setVisible(true); } public void 。
8.登陆界面的java代码怎么写
原发布者:梦妙奇缘
用户登录的代码://LoginFrame.javaimportjavax.swing.*;importjava.awt.*;importjava.awt.event.*;classMyJPanelextendsJPanelimplementsActionListener{privateintcount=0;privateJLabellabel1,label2;privateJTextFieldtext;privateJPasswordFieldpass;privateJButtonbutton1,button2;MyJPanel(){label1=newJLabel("用户名");label2=newJLabel("密码");button1=newJButton("确定");button2=newJButton("取消");text=newJTextField(20);pass=newJPasswordField(20);button1.setMnemonic(KeyEvent.VK_O);//设置按钮快捷键button2.setMnemonic(KeyEvent.VK_C);button1.setActionCommand("entry");button2.setActionCommand("cancel");button1.addActionListener(this);//注册按钮事件button2.addActionListener(this);//注册按钮事件setBackground(Color.cyan);//设定面板背景色add(label1);add(text);add(label2);add(pass);add(button1);add(button2);}publicvoidactionPerformed(ActionEvente){if(e.getActionCommand().equals("entry")){count++;//计数Stringusername,password;if(count<3){
java声明怎么写
1.Java类的声明格式是什么呀
是说接口吗?
public interface TestInterface{
void getSomething() throws Exception;
}
public class TestImpl implements TestInterface{
public void getSomething() throws Exception{
}
}
2.Java中main()的声明格式包括哪些
public static void main(String[] args)throws Exception {}
main方法被声明为静态方法(static),一般在一个类里面定义这样的main方法对该类进行一些简单的测试。main方法就这一种声明格式。
1.public 定义main方法的访问权限为公有的。
2.static 声明为静态方法,静态方法是属于类的,在没实例化之前就可以使用。
3.void 声明返回方式。
4.如果在main方法里面会抛出异常且未当场处理时需加上throws Exception,否则可以不用,Exception 可以是你自己定义的异常。
5.重点介绍一下main函数的参数 String[] args :
String[] args是main函数的形式参数,可以用来获取命令行用户输入进去的参数。声明main函数的时候一定要在括号里写上它,否则会报错。
举个用到String[] args的例子,可能不能运行,权当给你理解用。
class Example
{
public void main(String[] args)
{
System.out.println(args[0]);
System.out.println(args[1]);
}
}
那么这个程序在执行的时候就需要向main函数传递形式参数的值,好让main函数完成打印的功能。
注:String[] args显示args是一个String类型的数组,args[0]、args[1]是头两个元素。
执行时在控制台输入:straul good
后面两个字符串随便写什么,它们作为实参传入main函数,straul传入args[0],good传入args[1]。
那么屏幕会出现:
straul
good
这和在main函数里调用其他函数并且向被调用函数传递参数是一样的道理,只不过传给main函数罢了。
希望对你有用!
3.java中怎样声明一个方法
class Test{ private String myName=null; public String getMyName(){ return this.myName(); } public void setMyName(String myName){ this.myName = myName; } public void whichDoYouLike(){ System.out.println("I like "+ getMyname() ); } public static void main(String[] args){ Test test = new Test(); test.setMyName("帅哥"); test.whichDoYouLike(); } } 这里,带括号的都是方法!方法名称就是“()”前面的那个名字 如: public void setMyName(String myName){ this.myName = myName; } 这个就是方法(或者成为函数),setMyName 是方法名称。
4.在java中,如何声明一个类
声明一个类需要借助java关键字class,如声明一个ClassName类
public class ClassName{
//。
}
其中public是类修饰符,表示公共类,还有一些修饰符说明如下
public 公共类
default 默认类(即class前什么都不加)
abstract 抽象类
fanal 不能被继承的类
static 静态类
private 只能修饰内部类,一般不推荐使用
类名命名规范
类名是一个名词,应该大小写混合的方式,每一个单词的首字母大写。
类的名字必须是大写字母开头,而单词中的其他字母的均小写 例如:Test
如果类名由多个单词组成,则每个单词的首字母均应该大写 例如:TestPage
如果类名称中包含单词缩写,则缩写词的每一个字母均大写 例如:XMLExample
5.在java中,如何声明一个类
声明一个类需要借助java关键字class,如声明一个ClassName类 public class ClassName{ //。
} 其中public是类修饰符,表示公共类,还有一些修饰符说明如下 public 公共类default 默认类(即class前什么都不加)abstract 抽象类 fanal 不能被继承的类 static 静态类 private 只能修饰内部类,一般不推荐使用 类名命名规范 类名是一个名词,应该大小写混合的方式,每一个单词的首字母大写。 类的名字必须是大写字母开头,而单词中的其他字母的均小写 例如:Test 如果类名由多个单词组成,则每个单词的首字母均应该大写 例如:TestPage 如果类名称中包含单词缩写,则缩写词的每一个字母均大写 例如:XMLExample。
6.什么是类,什么是对象,Java中类的声明格式是什么,简单举例说明
2.Java中的类和对象【第一部分草案】 收藏 (本章的学习量相对比较大,我把整体分为三个部分讲解,第一个部分和第二个部分为Java关于类和对象以及OO的基础,第三个部分为在OO设计技巧中针对Java程序的一些性能提升的小技巧,因为尽量保证Java关于类和对象的基本概念以及关键知识点都能够涉及到,一是为了方便查询,二是按照常用的关键点来进行的整理,其中的关键点都是在开发过程中的一些相关内容涉及,所以本文特意提供了一个目录进行检索。
类和对象属于面向对象的基本概念,在开发过程中,需要掌握了对象和类的基本思想过后才明白如何进行OO设计,Java本身是纯面向对象的语言,这篇文章的主要目的是针对Java里面一些关于类和对象的基本操作进行简单的讲解,若有笔误,请来Email提点,谢谢:silentbalanceyh@126.com) 本文目录:【蓝色部分为本章的目录】1.基本概念2.Java变量相关1)Java变量分类2)Java中变量的初始化3)Java变量修饰符和访问域4)Java类修饰符[不包含内部类]3.Java涉及OO的关键知识点【主体】1)继承的基本概念2)抽象类、接口、final类:3)重载和重写:4)对象的拷贝[深拷贝和浅拷贝]:5)关键字this、super6)Java中的inlining[内联]7)带继承的构造函数以及构造顺序8)谈谈Object中的方法:equals、hashCode、toString9)带继承的类型转换以及转换中关于成员变量和成员函数的调用10)Java语言中的反射11)按引用传递和值传递原理12)Java中的包和导入13)匿名类和内部类4.Java编程OO设计技巧1)对象创建以及周期2)对象属性设置3)垃圾回收4)继承、接口、抽象类5.总结1.基本概念: 类和对象:OO里面什么称为类,类一般性我们定义为创建对象的一个蓝图,当我们根据某个类创建了一个对象的时候,我们就说该对象是这个类的一个实例(instance),类描述了某些对象的基本结构,是对对象的相关属性的一种定义,它定义了对象所具有的属性、方法、事件等各种基本点。 类设计的关键概念:封装是对象在工作的时候的一个关键概念,也是我们在进行OO设计的时候的一个需要掌握的点,封装简单讲就是将对象内部的一些细节实现隐藏起来不对外公布,仅仅对外公布某个对象能够提供的操作结果,从而实现信息隐藏的目的。
在封装过程,对象内的数据我们一般称为成员变量(instance fields),对象内针对这些数据执行的操作我们可以叫做操作方法(成员函数)(methods),一个对象这些属性的集合所反映出来的就是该对象的状态。 在Java里面,所有的复合数据都是从Object类继承而来的,这一点可以通过使用Java反射去获取父类的名称来获得。
对象:在OO设计里面,对象有几个需要掌握的基本点: 对象的行为:对象的行为指代的是这个对象能够做什么,不能做什么,包括这个对象有哪些接口是对外提供了我们可以直接进行使用等相关概念。 对象的状态:对象的状态指代的是在程序运行过程,某个对象实例的一些属性发生了相关的变化过后产生的一个对象状态,在ORM设计中我们经常会遇到对象状态的操作。
对象的标识:对象的标识指代的是这个对象如何区别于其他对象,即是是同一个类产生的新实例,其本质上讲它们属于两个不同的对象,而不应该是同一个对象。 类与类的关系: 依赖(Dependence):依赖关系简单讲就是users-a的关系,两个类创建的对象实例本身没有任何关系,在编程过程反映出来的就是两个对象在相互之间的调用关系,比如某个对象在执行它自己的行为的时候调用了其他对象的方法这些相关操作都属于users-a的基本关系,或者说在某个Class里面使用了其他Class来定义成员变量。
组合(Aggregation):组合关系可以认为是has-a的关系,这种关系的两个类存在一个包含关系,很容易理解就是比如某个类包含了另外一个类,这种概念严格上讲不在操作,主要是成员变量,比如一个用户有个姓名属性成为NameInfo,然后这个NameInfo定义为一个包含了两个String的对象,一个是FirstName,另外一个是LastName,这种情况可以认为该对象本身和NameInfo之间的关系是has-a的关系。 继承(Inheritance):继承关系属于is-a的关系,这种关系意味着两个类存在父类(superclass)和子类(subclass)的概念,Java里面使用extends和implements两个关键字来体现两个类的集成关系。
(上边这些概念基本上在各种OO语言学习的开篇都会遇到,没什么特殊的,所以熟悉的人可以不用去了解) Java中的Class: 预定义Class:在Java里面,什么称为预定义Class,学过Java的人都知道,JVM会在我们编写java程序的时候默认载入包java.lang,而java.lang里面已经存在了很多Class,这种Class就属于预定义的Class;不仅仅如此,以及Java API里面提供的Network相关类、IO相关类、XML相关类,这些可以不需要我们自定义,只需要import过后就可以直接使用的类就属于预定义的类。预定义类的各种使用方法可以参考JDK的API文档,里面针对目前存在的很多类都有详细的描述信息,有些类还提供了我们所需要的相关使用Demo可做参考。
一些代码的使用例子。 。
java怎么写框架
1.java框架有哪些常用框架
十大常用框架:一、SpringMVC 二、Spring 三、Mybatis 四、Dubbo 五、Maven 六、RabbitMQ 七、Log4j 八、Ehcache 九、Redis 十、Shiro 延展阅读:一、SpringMVC Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。
模型(Model )封装了应用程序的数据和一般他们会组成的POJO。视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。
控制器(Controller )负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。Spring的web模型 - 视图 - 控制器(MVC)框架是围绕着处理所有的HTTP请求和响应的DispatcherServlet的设计。
Spring Web MVC处理请求的流程 具体执行步骤如下:1、首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;2、页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;3、前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;4、前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。二、Spring2.1、IOC容器: IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。
应用程序无需直接在代码中new相关的对象,应用程序由IOC容器进行组装。在Spring中BeanFactory是IOC容器的实际代表者。
2.2、AOP:/moreevan/article/details/11977115 简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP代表的是一个横向的关系 AOP用来封装横切关注点,具体可以在下面的场景中使用:Authentication 权限 Caching 缓存 Context passing 内容传递 Error handling 错误处理 Lazy loading 懒加载 Debugging 调试 logging, tracing, profiling and monitoring 记录跟踪 优化 校准 Performance optimization 性能优化 Persistence 持久化 Resource pooling 资源池 Synchronization 同步 Transactions 事务 三、Mybatis MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。
MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
总体流程:(1)加载配置并初始化 触发条件:加载配置文件 将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。(2)接收调用请求 触发条件:调用Mybatis提供的API 传入参数:为SQL的ID和传入参数对象 处理过程:将请求传递给下层的请求处理层进行处理。
(3)处理操作请求 触发条件:API接口层传递请求过来 传入参数:为SQL的ID和传入参数对象 处理过程:(A)根据SQL的ID查找对应的MappedStatement对象。(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。
(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。
(E)释放连接资源。(4)返回处理结果将最终的处理结果返回。
MyBatis 最强大的特性之一就是它的动态语句功能。如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略一个逗号等。
动态语句能够完全解决掉这些痛苦。四、Dubbo Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC(远程过程调用协议)远程服务调用方案,以及SOA服务治理方案。
简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。1、透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
2、软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
2.java怎么创建框架
import java.awt.*;
public class frametest
{
public static void main(String[] args)
{
Frame framel=new Frame("学生管理系统");
framel.setsize(300.200);
framel.setvisible(true);
}
}
Frame不是frame,Frame是个类,frame是个变量,不一样。
java是对大小写敏感的。
你最好把错误信息贴出来,api是个名词,是java的一个帮助文件。
3.Java中框架是干什么的
框架是什么:框架就是一套规范。既然是规范,你使用这个框架就要遵守这个框架所规定的约束。在Java开发中,框架是用一套规则+一群jar包来表示的。
意义:框架不仅仅只完成这些简单的约束,更重要的是,框架为我们封装好了一些冗余,且重用率低的代码。并且使用反射与动态代理机制,将代码实现了通用性。比如如果你说servlet开发,你需要在servlet获取表单的参数,每次都要获取很麻烦,而struts底层就使用反射机制和拦截器机制帮助我们获取表单的值,我们就不用每次都手写那些代码了,简化了开发,当然你必须遵守一些规定来配置。
还有比如hibernate,它提供了一些通用性很强的对数据库的增删改差,如果你使用jdbc每次做一些简单的crud的时候都必须写sql,但使用hibernate就不需要这么麻烦了,直接save,update就可以了。当然,你还是要遵循其一些规范而配置。同理spring也是如此。
4.如何学习JAVA框架
三大框架:Struts+Hibernate+SpringJava三大框架主要用来做WEN应用。
Struts主要负责表示层的显示Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)Hibernate主要是数据持久化到数据库再用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有一个mapping的标签就是用来做文件映射的。当你在浏览器上输入URL得知的时候,文件就会根据你写的名称对应到一个JAVA文件,根据java文件里编写的内容显示在浏览器上,就是一个网页。
一 .Struts框架:struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。
如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。1.流程:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。
2.架构:Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。
Model部分:由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。
View部分:该部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。
对应上图的JSP部分。Controller组件:Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。
系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。
该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。
对应Action部分。二.Spring框架Spring是一个解决了许多在J2EE开发中常见的的问题的强大框架。
Springle提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类变成的好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control 容器。
然而Spring在使用IoC容器作为构建玩关注所有架构层层的完整解决方案方面是独一无二的。Spring提供了唯一的数据管理抽象包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。
Spring的数据访问架构还集成了Hibernate和其他O/R mapping 解决方案。三.Hibernate框架Hibernate 是一个开源代码的对象关系映射框架,对JDBC惊醒了费城轻量级的的对象封装,使得Java程序员可以随心所欲的使用对象变成思维来操作数据库。
Hebernate可以应用在任何使用JDBC的场合,既可以在java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用最具革命意义的事,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。
1.Session接口:负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。
但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。
这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。2.SessionFactory接口:负责初始化Hibernate。
它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。
需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。3.Configuration接口:负责配置并启动Hibernate,创建SessionFactory对象。
在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。4.Transaction接口:负责事务相关的操作。
它是可选的,开发人员也可以设计编写自己的底层事务处理代码。5.Query和Criteria接口:负责执行各种数据库查询。
它可以使用HQL语言或SQL语句两种表达方式。
5.Java web 的三大框架如何学
所谓三大框架,即struts、spring及hibernate。
要想学习好三大框架,快速掌握,最好的方法无疑是理论与实践结合,由简入繁,由单一到全部,逐一攻克,具体学习步骤如下:1、先学习struts,struts是世界上第一个经典的mvc框架,其作用就是将业务逻辑与视图分离开来,使得项目层次分明,清晰,更具有结构性。学习一个框架,首先要知道这个框架的作用,有哪些特征,然后就是了解其实现原理,最后就是结合实际项目例子来进一步加深对这个框架的理解,新手学习可以从java301集这个教程中了解其基础。
2、struts掌握了后,接着学习spring,spring就是一个大的工厂,其轻量理强大,它改变了传统的编程模式,将实例化bean交给了容器管理,使得项目中类的耦合度大为降低。spring的特性很多,较为有名就是IOC(控制反转)与AOP(面向世面编程)。
要想学习好spring,就要先掌握相应的理论知识点,然后就是动手敲代码,将它的每一个特性都实现一遍,功力到了,自然就掌握了。3、掌握了以上两大框架之后,可以继续深入学习hibernate框架了。
hibernate是一个orm-maping框架,即对象关系映射,将数据库表反转映射成实体对象,使得用户在操作底层数据库时,不用再写那些繁琐的SQL语句,而是通过直接操作对象将数据持久化到数据库。学习好hibernate,首先要掌握其原理,映射配置,然后就是对其每一个特性进行编码验证,如一对一,一对多,多对多关系映射等。
可以不结合项目,只要能连上数据库进行相应操作即可。4、三大框架都初步掌握了后,就可以进行整合学习了。
三大框架在整合分工也很明确,也是一个经典的MVC框架,其中struts充于其中的V(即视图层),spring充当C(即业务控制层),hibernate充当M(持久层)。整合学习三大框架的难点在于其中的配置,依赖及管理,这非一两天能完成的事情,得要多查阅相关书籍交资料,动手实践,用心体验。
最后,要想学习好框架,除了掌握其原理、特性外,还要多动手编码,多思考,熟能生巧。一句话,纸上得来终觉浅,绝知此事要躬行。
java怎么写json
1.java 中JSON数据如何写
没懂你要问什么,是问JSON的格式么?
我就简单地介绍下json格式:
按照最简单的形式,可以用下面这样的 JSON 表示"名称 / 值对":
{ "firstName": "Tom" }
这个示例非常基本,而且实际上比等效的纯文本"名称 / 值对"占用更多的空间:
firstName=Tom
但是,当将多个"名称 / 值对"串在一起时,JSON 就会体现出它的价值了。首先,可以创建包含多个"名称 / 值对"的 记录,比如:
{ "firstName": "Tom", "lastName":"Lin", "email": "aaa@aa.com" }
JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。
2.java 怎么定义一个json
一 简介: JSON(JavaScript对象符号)是一种轻量级的数据交换格式。
这是很容易为人类所读取和写入。这是易于机器解析和生成。
它是基于JavaScript编程语言的一个子集 , 标准ECMA-262第三版- 1999年12月。JSON是一个完全独立于语言的文本格式,但使用C家族的语言,包括C,C + +,C#,Java中的JavaScript,Perl的,Python中,和许多其他程序员所熟悉的约定。
这些特性使JSON成为理想的数据交换语言。他和map很类似,都是以键/值 对存放的。
二 JSON 使用须要用的JAR包:commons-lang.jarcommons-beanutils.jarcommons-collections.jarcommons-logging.jarezmorph.jarjson-lib-2.2.2-jdk15.jar三 使用JSON中的JSONObject:1.创建一个JSONObject对象,并使用put();方法添加元素:首先我们创建一个User对象以备后用:public class User { private int id; private String name; private String pwd; private String sex; //get,set方法 @Override //重写他的toString方法 public String toString() { return this.name+"--"+this.pwd+"--"+this.sex; }}例子如下:import net.sf.json.JSONObject;public class TestJson { private static JSONObject json = null; public static void main(String[] args) { json = new JSONObject(); json.put("id","1"); json.put("name","张三"); json.put("pwd","123456"); System.out.println(json); }}运行:C:\java>java TestJson{"id":"1","name":"张三","pwd":"123456"}通过这段代码我们就能很清淅的看到他的添加元素和map集合方式一样。现在我们要将这个json对象放进一个JAVABEAN的User对象怎么弄呢?很简单我们须要在 TestJson 类中的主方法中加入(放在System.out.println(json)这句话后面)User user = new User();user.setId(Integer.parseInt(json.getString("id")));//json.getString("id")就是通过他的KEY值取得对应的value值user.setName(json.getString("name"));user.setPwd(json.getString("pwd"));System.out.println(user);这样我们就把json这个对象里的值放进user对象里面了。
运行:C:\java>java TestJson{"id":"1","name":"张三","pwd":"123456"}张三--123456--nulljson添加元素除了用put();方法之外还可以用element();如:json.element("11", "222");2.创建一个JSONArray对象,并添加元素:JSONArray添加元素和list集合一样,当然取值也很像,代码如下import net.sf.json.*;public class TestJson1 { private static JSONObject json = null; private static JSONArray jsonArray = null; public static void main(String[] args) { jsonArray = new JSONArray (); jsonArray.add(0, "张三"); jsonArray.add(1, "李四"); jsonArray.add(2, "王五"); jsonArray.add(3, "小三"); System.out.println(jsonArray); System.out.println(jsonArray.get(1)); } } 输出结果为:["张三","李四","王五","小三"]李四注:json的基本格式这些网上很多,就不多说了,我们只须记住一句话就行了:[]表示数组,{}表示对象就完了!1.从Object到String 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可(1)示例一 Book book=new Book(); book.setName("Java"); book.setPrice(52.3f); JSONObject object=JSONObject.fromObject(book); System.out.println(object.toString());(2)示例二 Book book=new Book(); book.setName("Java"); book.setPrice(52.3f); Book book2=new Book(); book2.setName("C"); book2.setPrice(42.3f); List list=new ArrayList(); list.add(book); list.add(book2); JSONArray arry=JSONArray.fromObject(list); System.out.println(arry.toString()); //结果如下: [{"name":"Java","price":52.3},{"name":"C","price":42.3}]2.从String到Object 要先用String对象构造一个JSONObject或者JSONArray对象(1)示例一 String json="{name:'Java',price:52.3}"; JSONObject object=JSONObject.fromObject(json); System.out.println(object.get("name")+" "+object.get("price")); (2)示例二 String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]"; JSONArray array=JSONArray.fromObject(json); for(int i=0;i< array.size();i++){ Map o=(Map)array.get(i); System.out.println(o.get("name")+" "+o.get("price")); }3.从String到Bean(1)单个Bean对象 String json="{name:'Java',price:52.3}"; JSONObject object=JSONObject.fromObject(json); Product product=(Product)JSONObject.toBean(object,Product.class); System.out.println(product.getName()+" "+product.getPrice());(2).Bean的数组 String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]"; JSONArray array=JSONArray.fromObject(json); Product[] products=(Product[]) JSONArray.toArray(array,Product.class); for(Product p:products){ System.out.println(p.getName()+" "+p.getPrice()); }自定义封装JSON操作的类 package com.util; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; pu。
3.JAVA这种格式的json怎么写啊
json对引号很敏感,所以java中返回json格式字符串时,一般要转义,这样不会发生错误。比如:
"key": {"location": [
"崇文区",
"海淀区",
"大兴区",
"房山区",
"朝阳区",
"西城区",
"丰台区",
"东城区",
"顺义区",
"昌平区",
]
}
json字符串
String json = "{\"key\":\"{\"location\":\"[\"海淀\",\"崇文\"]\"}\"}"这样子
4.用java怎么解析Json数据
import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import net.sf.ezmorph.bean.MorphDynaBean; import net.sf.json.JSONArray; import net.sf.json.JSONSerializer; public class JSONDemo { public static final String PREFIX = "index_"; /** * @param args */ public static void main(String[] args) { Map map = new HashMap(); String str ="[{'status': 5,'remarks': '\\xe6\\xa3\\x80\\xe6\\xb5\\x8b\\xe5\\xb7\\xb2\\xe7\\xbb\\x8f\\xe5\\xae\\x8c\\xe6\\x88\\x90','session': \"(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')\",'vuls': [\"('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': \'['%E7%89%88%E6%9C%AC%E5%8F%B7']\', 'type': 1}])\",\"('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])\"], 'endTime':123}, 1L, '\\xe6\\xb5\\x8b\\xe8\\xaf\\x95\\xe6\\x89\\xab\\xe6\\x8f\\x8f\\xe4\\xbb\\xbb\\xe5\\x8a\\xa1']"; System.out.println("json格式字符串-->"+str); JSONArray array = JSONArray.fromObject(str); System.out.println("json格式字符串构造json数组元素的个数-->"+array.size()); ArrayList list = (ArrayList) JSONSerializer.toJava(array); int i = 0; for (Object obj : list) { map.put(PREFIX+(i++), obj); System.out.println("第"+i+"对象-->"+obj); } //解析第0个位置 Map bd = new HashMap(); MorphDynaBean bean = (MorphDynaBean) map.get(PREFIX+0); bd.put("session", bean.get("session")); bd.put("status", bean.get("status")); bd.put("remarks", bean.get("remarks")); bd.put("vuls", bean.get("vuls")); bd.put("endTime", bean.get("endTime")); Iterator iter = bd.keySet().iterator(); while (iter.hasNext()){ Object key = iter.next(); Object value = bd.get(key); System.out.println("MorphDynaBean对象-->key="+key+",value="+value); } //解析vuls ArrayList vuls = (ArrayList) bd.get("vuls"); Map vl = new HashMap(); int j = 0; for (Object obj : vuls) { vl.put(PREFIX+(j++), obj); System.out.println("解析vuls的第"+i+"对象-->"+obj); } } }。
5.JAVA 解析JSON 怎么做
java解析Json很简单的呀有个专门的JSONObject组件,把它引进来,里面有很多方法可以直接操作,比如: JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "aa"); // Put 方法可以根据往里面加入属性 String jsonString = jsonObject.getString("name"); //getString而已根据Key值取出里面的值你去找找JSONObject组件的用法至于解析的目的嘛,因为用Json格式来传输信息可以节省网络开销,性能上较好,Json串是一串字符串,所以接收方在接收到这个Json字符串的时候需要将它转成对象来操作(直接操作那长长字符串是会让人崩溃的)希望能帮到你……。
6.怎么用java编写json文件
先生成map 然后用alibaba的fastjson,附件中的这个包,里头有你意想不到的API
例如:
Map map = 。。;
map的结构和要生成的字符串结构一致就行,你的optionset在map里头的结构就是一个list
list optionset= new ArrayList();
Map temp = new HashMap();temp.put('set',xxx);temp.put('value',xxx);
list.add(temp);
.有多少个就添加多少,
然后把list添加到最外层的Map对象中;
map.put('optionset',list); key就是json字符中对应的key
拼装好了map然后就是下一句就搞定了
String josnStr = JSONObject.toJSONString(map);
java怎么写微信
1.java怎么写小程序
小程序的页面方面的话是用微信提供的工具用微信定义的语言来编写的,接口的话我们就用正常的接口来编写,但是有几个需要注意的地方。比如你接口所在的服务器必须要有域名并且备案,这个是用来配置访问接口的白名单。然后就是网络接口请求的时候尽量让小程序那边加上
header: {
'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
}
这样子,如果设置的是content-type: application/x-www-form-urlencoded;微信默认会为键值对进行Url编码.其实小程序的话主要的工作量可能是在前端页面上面,接口什么的都比较简单
转载请注明出处育才学习网 » 图书管理系统用java怎么写
育才学习网