java 页面怎样给main方法传递参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 页面怎样给main方法传递参数相关的知识,希望对你有一定的参考价值。

我在做一个socket的例子,一个后台类,然后ie打开输入http://localhost:8886?can="cai"
main方法可以得到我页面传的参数。
后台类如下:

package com.cjy.logs.dao;
import java.net.*;
import java.util.Scanner;
import java.io.*;
import java.lang.*;

import javax.servlet.http.HttpServletRequest;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.framework.struts2.action.BaseAction;
/**
* Filename: myserver.java <br>
*
* Description: <br>
*
* @author: CPJ <br>
* @version: 1.0 <br>
* @Createtime: Jul 26, 2011 <br>
*
* @Copyright: Copyright (c)2011 by nqy <br>
*
*/
public class myserver
public static void main(String args[])
ServerSocket server;
Socket socket;
String s;
InputStream Is;
OutputStream Os;
DataInputStream DIS;
PrintStream PS;

String aaaaaa="";
for(int i=0;i<args.length;i++)
aaaaaa+=args[i];

try
// 在端口 注册服务
server=new ServerSocket(8886);
socket=server.accept();// 监听窗口,等待连接
System.out.println("server ok");
System.out.println("************************************************");
System.out.println("");
// 获得对应Socket的输入/输出流
Is=socket.getInputStream();
Os=socket.getOutputStream();
// 建立数据流
DIS=new DataInputStream(Is);
PS=new PrintStream(Os);
DataInputStream in=new DataInputStream(System.in);
//Scanner scan = new Scanner(System.in);
while(true)
System.out.println("");
System.out.println("pleasewait client's message...");
System.out.println("");
s=DIS.readLine();// 读入从client传来的字符串
System.out.println("打印:"+s);// 打印字符串
if(s.trim().equals("ok"))break;// 如果是"BYE",就退出
System.out.print("我说:");
s=in.readLine();// 读取用户输入的字符串
//s=scan.next();
PS.println(s);// 将读取得字符串传给client
if(s.trim().equals("ok"))break;// 如果是"BYE",就退出

// 关闭连接
DIS.close();// 关闭数据输入流
PS.close(); // 关闭数据输出流
Is.close(); // 关闭输入流
Os.close(); // 关闭输出流
socket.close();// 关闭sockey
catch(Exception e)
System.out.println("Error:"+e);



希望可以回答的详细一点,谢谢。

参考技术A 应该extends HttpServlet

把你的业务逻辑写在doGet里,使用request.getParameter("can")获取传过来的参数追问

试过了,不行的,可以在外面访问参数,不能在里面访问参数。

追答

public static void main(String args[])是jvm自动加载方法
如果要传参数的话,是这样传的:java 类名 参数1 参数2 ...

如果是web应该使用servlet
public class myserver extends HttpServlet
public void doGet(......)
String can = request.getParameter("can");



建议看一下servlet的知识

追问

那请问我怎样在地址栏直接写参数doget接呢?

追答

使用socket的话,传递的数据应该是放在I/OStream里的。看一下socket客户端和服务端在怎么写的
google一下应该很多的

参考技术B 同意楼上 参考技术C new myserver().main(...);
不推荐使用main方法。建议使用servlet的过滤器

以上是关于java 页面怎样给main方法传递参数的主要内容,如果未能解决你的问题,请参考以下文章

两个html的页面之间怎么传递参数啊

java传递参数问题

怎样给lua脚本传递参数和脚本怎样接受这些参数

java springmvc 页面枚举类型作为怎样查询条件并传递参数到controller

传递给 Java main() 的命令行参数中的引号

onclick 怎样传递参数