能帮我看看这段代码错在哪吗?实在找不出, 迷惘啊!(100分)

  • 主题发起人 主题发起人 hongma
  • 开始时间 开始时间
H

hongma

Unregistered / Unconfirmed
GUEST, unregistred user!
我的配置为apache2.0 + resin2.1.9;文件名为send.
jsp;原码如下:
<%@ page contentType = "text/html;
charset = gb2312" %>
<html>
<head>
<meta http-equiv = "Content-Type" content = "text/html;
charset = gb2312">
<title> 意见箱 </title>
<style type = "text/css">
<!--
@import "css/jsp.css"
-->
</style>
</head>
<body bgcolor = "#ffccff">
<%@ page import = "java.io.*" %>
<%@ page import = "java.net.*" %>
<%@ page import = "java.util.*" %>
<%
//与主机通讯发送Email的类
class Parameters{
Socket socket;
PrintWriter mailOut;
BufferedReader mailIn;
[red] } //出错的地方red]
//发送命令到主机的方法
[red]void sendCommand(Parameters parms, String cmd) throws IOException {//出错的地方[/red]
parms.mailOut.print(cmd + "/r/n");
parms.mailOut.flush();
String line = parms.mailIn.readLine();
}
//发送数据到主机的方法
void sendData(
Parameters parms,
String to,
String subject,
String message
) throws IOException {
message = "to:" + to + "/r/n" + message;
message = "subject:" + subject + "/r/n" + message;
parms.mailOut.print(message + "/r/n");
parms.mailOut.print("/r/n /r/n");
parms.mailOut.flush();
}
//获取表单参数
String host = "smpt.163.com";
String from = request.getParameter("mail");
String subject = request.getParameter("title");
String message = request.getParameter("content");
String name = request.getParameter("name");
[red]message = "留言人:" + name + "/r/n" + message;//出错的地方[/red]
String to = "yuebao@163.com"
//打开端口与邮件主机通讯
Parameters parms = new Parameters();
parms.socket = new Socket(host, 25);
parms.mailOut = new PrintWriter(parms.socket.getOutputStream(), true);
parms.mailIn = new BufferedReader(new InputStreamRead(parms.socket.getInputStream()))
sendCommand(parms, "HELO" + host);
sendCommand(parms, "Mail from:" + from);
sendCommand(parms, "Rept to:" + to);
sendData(parms, to, subject, message);
parms.socket.close();
%> <br>
<%=name%>先生(小姐):<br>
您好!您的意见已经发送到站长信息。<br>
感谢您为我们提出了宝贵的意见!
</body>
</html>
打入http://localhost:8080/src/jsp/send.
jsp后提示如下信息:
[h1]500 Servlet Exception[/h1]
Note: sun.tools.javac.Main has been deprecated.
/src/jsp/send.
jsp:23: '}' expected.
}
^
/src/jsp/send.
jsp:26: Statement expected.
void sendCommand(Parameters parms, String cmd) throws IOException {
^
/src/jsp/send.
jsp:52: Identifier expected.
message = "/u7559/u8a00/u4eba/uff1a" + name + "/r/n" + message;
^
3 errors, 1 warning

--------------------------------------------------------------------------------
Resin 2.1.9 (built Tue Apr 15 14:28:40 PDT 2003)
 
你试一下,把出问题的那些写到bean中,看看行不行
 
把代码放到bean里去,
这样看起来实在太痛苦了。
第一次看见有这样定义class的。
 
你这是从别的语言往JSP翻译的吧!JSP里面我没有尝试过类似的写法!不知道这样写行不行。你可以把类的声明放到一个BEAN里面去处理。
 
各位兄弟, 俺刚学JSP, 你们说这样写不对头, 为什么呢?
为什么一定要放到Bean里呢?
怎么分离?小弟还不太懂。
先谢谢各位大侠了!
 
<%
//与主机通讯发送Email的类
class Parameters{
Socket socket;
PrintWriter mailOut;
BufferedReader mailIn;
[red] }
......
改成
<%!
//与主机通讯发送Email的类
class Parameters{
Socket socket;
PrintWriter mailOut;
BufferedReader mailIn;
} %>
<%
......
加一个"!"再试试
 
那个是类,也不是函数,你那么写,好象不 行吧?
 
jsp页面中的内容编译以后就是一个servlet,包含在一个函数中,你在jsp中定义class就相当于在一个函数中定义class,这是不能做的,把class定义放在bean中,然后打包引入
 
to 埋名:
你最好做个实验试试
 
我多么希望有一份很好JSP参考资料啊,每个初学者都能拿一份
介绍个网站个你,老兄
http://www.java-cn.com/
不知道你去过没有呢?
 
====>>>jsp页面中的内容编译以后就是一个servlet,包含在一个函数中,你在jsp中定义class就相当于在一个函数中定义class<<<<<
第一次听到这个说法,,,,,
servlet是什么?也是一个Class阿~~~~~
你在jsp中的定义的类,是私有的类,只能自己使用........而如果定义在bean中,则可以是共用的,而且这样做层次清楚,能充分体现面向对象的编程方法......写出代码和写好代码不是一码事,呵呵,但是只要能达到要求,我们又不怕麻烦,怎么做都行
 
后退
顶部