如何在GUI中打开.jsp网页?

angui147 2005-12-21 02:19:10
如题
...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bovy 2005-12-22
  • 打赏
  • 举报
回复
//修改了一下
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.net.URL;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.SpringLayout;
import javax.swing.SwingConstants;

public class JavaExplorer extends JFrame
{
private final class LoadUrlAction extends MouseAdapter
{
/**
* @param meta
* @return
*/
public String getCharsetName(String meta)
{
if (null == meta || meta.trim().length() == 0)
{
return "";
}
meta = meta.trim().toLowerCase();
int index = 0;
if ((index = meta.indexOf("charset")) < 0)
{
return "";
}
if (index >= 0)
{
while (index < meta.length())
{
if (meta.charAt(index) != '=')
{
index++;
}
else
{
index++;
break;
}
}
int endIndex = index;
while (endIndex < meta.length())
{
if (meta.charAt(endIndex) != ';' && meta.charAt(endIndex) != '\"' && meta.charAt(endIndex) != '\'')
{
endIndex++;
}
else
{
break;
}
}
return meta.substring(index, endIndex);
}
return "";
}

public void mousePressed(MouseEvent e)
{
try
{
URL url = new URL(JavaExplorer.this.urlTxt.getText());
JavaExplorer.this.content.setPage(url);
// BufferedInputStream receiver = new
// BufferedInputStream(url.openStream());
// ByteArrayOutputStream _bodyByteBuffer = new
// ByteArrayOutputStream(4 * 1024);
// byte[] buffer = new byte[1024];
// int len = -1;
// do
// {
// len = receiver.read(buffer);
// if (len < 0)
// {
// break;
// }
// _bodyByteBuffer.write(buffer, 0, len);
// }
// while (len != 0);
// String charsetName =
// getCharsetName(_bodyByteBuffer.toString());
// String body;
// if (charsetName.length() > 0)
// {
// body = _bodyByteBuffer.toString(charsetName);
// }
// else
// {
// // if we can't get the charset,let's use the the lastest
// // charset.(usual default charset)
// body = _bodyByteBuffer.toString();
// }
// JavaExplorer.this.content.setText(body);
// JOptionPane.showMessageDialog(JavaExplorer.this, body);
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
}

private JTextField urlTxt;

private SpringLayout springLayout;

private JEditorPane content;

/**
* Launch the application
*
* @param args
*/
public static void main(String args[])
{
try
{
JavaExplorer frame = new JavaExplorer();
frame.setVisible(true);
}
catch (Exception e)
{
e.printStackTrace();
}
}

/**
* Create the frame
*/
public JavaExplorer()
{
super();
springLayout = new SpringLayout();
getContentPane().setLayout(springLayout);
setTitle("Java 浏览器");
setBounds(100, 100, 648, 503);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel label = new JLabel();
label.setHorizontalAlignment(SwingConstants.RIGHT);
label.setHorizontalTextPosition(SwingConstants.RIGHT);
label.setText("地址:");
getContentPane().add(label);
springLayout.putConstraint(SpringLayout.SOUTH, label, 25, SpringLayout.NORTH, getContentPane());
springLayout.putConstraint(SpringLayout.EAST, label, 90, SpringLayout.WEST, getContentPane());
springLayout.putConstraint(SpringLayout.NORTH, label, 5, SpringLayout.NORTH, getContentPane());
springLayout.putConstraint(SpringLayout.WEST, label, 5, SpringLayout.WEST, getContentPane());
urlTxt = new JTextField();
urlTxt.setText("http://www.boasoft.com/t2s/index.jsp");
getContentPane().add(urlTxt);
springLayout.putConstraint(SpringLayout.SOUTH, urlTxt, 0, SpringLayout.SOUTH, label);
springLayout.putConstraint(SpringLayout.EAST, urlTxt, -75, SpringLayout.EAST, getContentPane());
springLayout.putConstraint(SpringLayout.NORTH, urlTxt, 0, SpringLayout.NORTH, label);
springLayout.putConstraint(SpringLayout.WEST, urlTxt, 5, SpringLayout.EAST, label);
final JButton goButton = new JButton();
goButton.addMouseListener(new LoadUrlAction());
goButton.setText("GO");
getContentPane().add(goButton);
springLayout.putConstraint(SpringLayout.SOUTH, goButton, 0, SpringLayout.SOUTH, urlTxt);
springLayout.putConstraint(SpringLayout.EAST, goButton, -5, SpringLayout.EAST, getContentPane());
springLayout.putConstraint(SpringLayout.NORTH, goButton, 0, SpringLayout.NORTH, urlTxt);
springLayout.putConstraint(SpringLayout.WEST, goButton, 5, SpringLayout.EAST, urlTxt);
final JScrollPane scrollPane = new JScrollPane();
getContentPane().add(scrollPane);
springLayout.putConstraint(SpringLayout.SOUTH, scrollPane, -5, SpringLayout.SOUTH, getContentPane());
springLayout.putConstraint(SpringLayout.EAST, scrollPane, 0, SpringLayout.EAST, goButton);
springLayout.putConstraint(SpringLayout.NORTH, scrollPane, 5, SpringLayout.SOUTH, label);
springLayout.putConstraint(SpringLayout.WEST, scrollPane, 0, SpringLayout.WEST, label);
content = new JEditorPane();
scrollPane.setViewportView(content);
}
}
bovy 2005-12-22
  • 打赏
  • 举报
回复
这个代码实现了通过http协议读取jsp的内容,如果想正确显示出来会很麻烦,肯定需要借助第三方组件了。
bovy 2005-12-22
  • 打赏
  • 举报
回复

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.net.URL;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.SpringLayout;
import javax.swing.SwingConstants;

public class JavaExplorer extends JFrame
{
private final class LoadUrlAction extends MouseAdapter
{
/**
* @param meta
* @return
*/
public String getCharsetName(String meta)
{
if (null == meta || meta.trim().length() == 0)
{
return "";
}
meta = meta.trim().toLowerCase();
int index = 0;
if ((index = meta.indexOf("charset")) < 0)
{
return "";
}
if (index >= 0)
{
while (index < meta.length())
{
if (meta.charAt(index) != '=')
{
index++;
}
else
{
index++;
break;
}
}
int endIndex = index;
while (endIndex < meta.length())
{
if (meta.charAt(endIndex) != ';' && meta.charAt(endIndex) != '\"' && meta.charAt(endIndex) != '\'')
{
endIndex++;
}
else
{
break;
}
}
return meta.substring(index, endIndex);
}
return "";
}

public void mousePressed(MouseEvent e)
{
try
{
URL url = new URL(JavaExplorer.this.urlTxt.getText());
BufferedInputStream receiver = new BufferedInputStream(url.openStream());
ByteArrayOutputStream _bodyByteBuffer = new ByteArrayOutputStream(4 * 1024);
byte[] buffer = new byte[1024];
int len = -1;
do
{
len = receiver.read(buffer);
if (len < 0)
{
break;
}
_bodyByteBuffer.write(buffer, 0, len);
}
while (len != 0);
String charsetName = getCharsetName(_bodyByteBuffer.toString());
String body;
if (charsetName.length() > 0)
{
body = _bodyByteBuffer.toString(charsetName);
}
else
{
// if we can't get the charset,let's use the the lastest
// charset.(usual default charset)
body = _bodyByteBuffer.toString();
}
JavaExplorer.this.content.setText(body);
JOptionPane.showMessageDialog(JavaExplorer.this, body);
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
}

private JTextField urlTxt;

private SpringLayout springLayout;

private JEditorPane content;

/**
* Launch the application
*
* @param args
*/
public static void main(String args[])
{
try
{
JavaExplorer frame = new JavaExplorer();
frame.setVisible(true);
}
catch (Exception e)
{
e.printStackTrace();
}
}

/**
* Create the frame
*/
public JavaExplorer()
{
super();
springLayout = new SpringLayout();
getContentPane().setLayout(springLayout);
setTitle("Java 浏览器");
setBounds(100, 100, 648, 503);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel label = new JLabel();
label.setHorizontalAlignment(SwingConstants.RIGHT);
label.setHorizontalTextPosition(SwingConstants.RIGHT);
label.setText("地址:");
getContentPane().add(label);
springLayout.putConstraint(SpringLayout.SOUTH, label, 25, SpringLayout.NORTH, getContentPane());
springLayout.putConstraint(SpringLayout.EAST, label, 90, SpringLayout.WEST, getContentPane());
springLayout.putConstraint(SpringLayout.NORTH, label, 5, SpringLayout.NORTH, getContentPane());
springLayout.putConstraint(SpringLayout.WEST, label, 5, SpringLayout.WEST, getContentPane());
urlTxt = new JTextField();
urlTxt.setText("http://www.boasoft.com/t2s/index.jsp");
getContentPane().add(urlTxt);
springLayout.putConstraint(SpringLayout.SOUTH, urlTxt, 0, SpringLayout.SOUTH, label);
springLayout.putConstraint(SpringLayout.EAST, urlTxt, -75, SpringLayout.EAST, getContentPane());
springLayout.putConstraint(SpringLayout.NORTH, urlTxt, 0, SpringLayout.NORTH, label);
springLayout.putConstraint(SpringLayout.WEST, urlTxt, 5, SpringLayout.EAST, label);
final JButton goButton = new JButton();
goButton.addMouseListener(new LoadUrlAction());
goButton.setText("GO");
getContentPane().add(goButton);
springLayout.putConstraint(SpringLayout.SOUTH, goButton, 0, SpringLayout.SOUTH, urlTxt);
springLayout.putConstraint(SpringLayout.EAST, goButton, -5, SpringLayout.EAST, getContentPane());
springLayout.putConstraint(SpringLayout.NORTH, goButton, 0, SpringLayout.NORTH, urlTxt);
springLayout.putConstraint(SpringLayout.WEST, goButton, 5, SpringLayout.EAST, urlTxt);
final JScrollPane scrollPane = new JScrollPane();
getContentPane().add(scrollPane);
springLayout.putConstraint(SpringLayout.SOUTH, scrollPane, -5, SpringLayout.SOUTH, getContentPane());
springLayout.putConstraint(SpringLayout.EAST, scrollPane, 0, SpringLayout.EAST, goButton);
springLayout.putConstraint(SpringLayout.NORTH, scrollPane, 5, SpringLayout.SOUTH, label);
springLayout.putConstraint(SpringLayout.WEST, scrollPane, 0, SpringLayout.WEST, label);
content = new JEditorPane();
scrollPane.setViewportView(content);
}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧