这是一个servlet程序
可以放在 jsp文件目录下\web-inf\classes\package\*.class要在classpath里指一下servlet.jar文件的绝对路径http://expert.csdn.net/Expert/topic/1197/1197493.xml?temp=.100918
可以放在 jsp文件目录下\web-inf\classes\package\*.class要在classpath里指一下servlet.jar文件的绝对路径http://expert.csdn.net/Expert/topic/1197/1197493.xml?temp=.100918
解决方案 »
- 求ExtJs的FormPanel为什么没有出效果
- 代码完全一样,可显示的还是不一样啊
- 关于图片连接~~急急急急~~
- 急急。。。...谁知道哪个网站上专门用JSP做的项目呢!
- 用jsp往文件里写内容时出现乱码?
- [电脑]的JSP,这里谁会啊,我紧急求助,是紧急求助啊
- 一个程序员的路要怎么走???
- 如何把控制台输出的完整错误信息保存到文本?
- java.lang.NoClassDefFoundError: org/apache/jasper/JspC 什么错误?
- Tomcat4.1.18 运行JSP指令和编译Servlet的问题?
- 请比较一下ASP, PHP, JSP
- servlet&jsp是一组独立的API,还是j2se抑或j2ee的一部分?
1.C:\tmp\test Directory Create a class SendMailServlet.javaimport javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import sun.net.smtp.*;public class SendMailServlet extends HttpServlet {
public static String MAIL_FROM = "from";
public static String MAIL_TO = "to";
public static String MAIL_SUBJECT = "subject";
public static String MAIL_BODY = "body";
public static String MAIL_HOST = "mailhost";
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html; charset=BIG5");
PrintWriter out = resp.getWriter();
out.println("<form method=POST action=\"" + req.getRequestURI() + "\">");
out.println("<table>");
out.println("<tr><td>send mail server:</td>");
out.println("<td><input type=text name=" + MAIL_HOST + " size=30></td></tr>");
out.println("<tr><td>from:</td>");
out.println("<td><input type=text name=" + MAIL_FROM + " size=30></td></tr>");
out.println("<tr><td>to:</td>");
out.println("<td><input type=text name=" + MAIL_TO + " size=30></td></tr>");
out.println("<tr><td>subject:</td>");
out.println("<td><input type=text name=" + MAIL_SUBJECT + " size=30></td></tr>");
out.println("<tr><td>text:</td>");
out.println("<td><textarea name=" + MAIL_BODY + " cols=40 rows=10></textarea></td></tr>");
out.println("</table><br>");
out.println("<input type=submit value=\"Send\">");
out.println("<input type=reset value=\"Reset\">");
out.println("</form>");
out.flush();
} public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
resp.setContentType("text/html; charset=gb2312");
PrintWriter out = new PrintWriter(resp.getOutputStream());
String from = req.getParameter(MAIL_FROM);
String to = req.getParameter(MAIL_TO);
String subject = req.getParameter(MAIL_SUBJECT);
String body = req.getParameter(MAIL_BODY);
String mailhost = req.getParameter(MAIL_HOST);
try {
SmtpClient mailer = new SmtpClient(mailhost);
mailer.from(from);
mailer.to(to);
PrintStream ps = mailer.startMessage();
ps.println("From: " + from);
ps.println("To: " + to);
ps.println("Subject: " + subject);
ps.println(body);
mailer.closeServer();
out.println("Success!");
}
catch (Exception ex)
{
out.println("An error about:" + ex.getMessage());
}
out.flush();
} public void init(ServletConfig cfg) throws ServletException {
super.init(cfg);
}
public void destroy() {
super.destroy();
}
}2.C:\tmp\test>dir
磁碟區 C 中的磁碟沒有標籤。
磁碟區序號: 98D4-FB0A 目錄: C:\tmp\test2003/02/08 01:49p <DIR> .
2003/02/08 01:49p <DIR> ..
2003/02/07 07:23p 881 HelloWorld2.class
2003/02/07 07:17p 741 HelloWorld2.java
2003/02/08 01:49p 2,663 SendMailServlet.java <==========================
3 個檔案 4,285 位元組
2 個目錄 6,969,479,168 位元組可用C:\tmp\test>set classpath=.;D:\Tomcat 4.1\common\lib\servlet.jarC:\tmp\test>javac SendMailServlet.javaC:\tmp\test>dir
磁碟區 C 中的磁碟沒有標籤。
磁碟區序號: 98D4-FB0A 目錄: C:\tmp\test2003/02/08 01:53p <DIR> .
2003/02/08 01:53p <DIR> ..
2003/02/07 07:23p 881 HelloWorld2.class
2003/02/07 07:17p 741 HelloWorld2.java
2003/02/08 01:53p 3,040 SendMailServlet.class <==========================
2003/02/08 01:49p 2,663 SendMailServlet.java
4 個檔案 7,325 位元組
2 個目錄 6,969,475,072 位元組可用C:\tmp\test>
Copy SendMailServlet.class to D:\Tomcat 4.1\webapps\newproject\WEB-INF\classes\SendMailServlet.class3.Config Tomcat:
1.D:\Tomcat 4.1\webapps add a new directory newproject
D:\Tomcat 4.1\webapps\newproject\WEB-INF
D:\Tomcat 4.1\webapps\newproject\WEB-INF\classes\SendMailServlet.class
D:\Tomcat 4.1\webapps\newproject\WEB-INF\web.xml
=>Detail:
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
<servlet>
<servlet-name>test2</servlet-name>
<servlet-class>SendMailServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test2</servlet-name>
<url-pattern>/servlet/SendMailServlet</url-pattern>
</servlet-mapping>
</web-app>4. Start Tomcat
Run:
http://localhost:8080/newproject/servlet/SendMailServlet
C:\tomcat\work\DEFAULT\ROOT\sendmail_1.java:4: Package javax.mail not found in import.
import javax.mail.*;
^
C:\tomcat\work\DEFAULT\ROOT\sendmail_1.java:5: Package javax.mail.internet not found in import.
import javax.mail.internet.*;
^
C:\tomcat\work\DEFAULT\ROOT\sendmail_1.java:6: Package javax.activation not found in import.
import javax.activation.*;
^
3 errors, 1 warning at org.apache.tomcat.facade.JasperLiaison.javac(JspInterceptor.java:898)
at org.apache.tomcat.facade.JasperLiaison.processJspFile(JspInterceptor.java:733)
at org.apache.tomcat.facade.JspInterceptor.requestMap(JspInterceptor.java:506)
at org.apache.tomcat.core.ContextManager.processRequest(ContextManager.java:968)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:875)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Thread.java:536)
import java.io.*;import javax.servlet.*;import javax.servlet.http.*; import sun.net.smtp.*; public class SendMailServlet extends HttpServlet { public static String MAIL_FROM = "from"; public static String MAIL_TO = "to"; public static String MAIL_SUBJECT = "subject"; public static String MAIL_BODY = "body"; public static String MAIL_HOST = "mailhost"; public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType("text/html; charset=gb2312"); PrintWriter out = resp.getWriter(); out.println("<form method=POST action=\"" + req.getRequestURI() + "\">"); out.println("<table>");out.println("<tr><td>send mail server:</td>"); out.println("<td><input type=text name=" + MAIL_HOST + " size=30></td></tr>"); out.println("<tr><td>from:</td>"); out.println("<td><input type=text name=" + MAIL_FROM + " size=30></td></tr>"); out.println("<tr><td>to:</td>"); out.println("<td><input type=text name=" + MAIL_TO + " size=30></td></tr>");out.println("<tr><td>subject:</td>"); out.println("<td><input type=text name=" + MAIL_SUBJECT + " size=30></td></tr>"); out.println("<tr><td>text:</td>"); out.println("<td><textarea name=" + MAIL_BODY + " cols=40 rows=10></textarea></td></tr>"); out.println("</table><br>"); out.println("<input type=submit value=\"Send\">"); out.println("<input type=reset value=\"Reset\">"); out.println("</form>");out.flush();} public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException { resp.setContentType("text/html; charset=gb2312"); PrintWriter out = new PrintWriter(resp.getOutputStream()); String from = req.getParameter(MAIL_FROM); String to = req.getParameter(MAIL_TO); String subject = req.getParameter(MAIL_SUBJECT); String body = req.getParameter(MAIL_BODY); String mailhost = req.getParameter(MAIL_HOST); try { SmtpClient mailer = new SmtpClient(mailhost); mailer.from(from);mailer.to(to);PrintStream ps = mailer.startMessage();ps.println("From: " + from);ps.println("To: " + to); ps.println("Subject: " + subject); ps.println(body); mailer.closeServer(); out.println("Success!"); } catch (Exception ex) { out.println("An error about:" + ex.getMessage()); }out.flush();}public void init(ServletConfig cfg) throws ServletException {super.init(cfg);}public void destroy() {super.destroy(); }} 这段servlet程序怎么用啊,直接存为*.class吗,在哪里看效果啊,总之,我就是不会用,请说得具体一点
我的练习可以 Work…..加油!
建议妳先到 http://apache.oregonstate.edu/jakarta/tomcat-4/binaries/ Download
最新版的 Tomcat: tomcat-4.1.18.exe
Tomcat 里面包括 Servlet Engine and JSP Engine 妳要看出 Servlet 的效果,
方法很多, 其中一个方法就是使用 Tomcat:tomcat-4.1.18.exe 安装方法很简单, 按一下再指定目录即可,
假设妳安装目录:
D:\Tomcat 4.1
不用修改配置文件
http://localhost:8080
test it如果有欢迎接口说明tomcat安装配置成功b. 接下来 Config Tomcat:D:\Tomcat 4.1\webapps
add a new d newproject
Create Directory:
D:\Tomcat 4.1\webapps\newproject
D:\Tomcat 4.1\webapps\newproject\WEB-INF
D:\Tomcat 4.1\webapps\newproject\WEB-INF\classesc. Next 用 Servlet 写 JavaMail 方法很多假设妳用 Notepad Compile 时必须把所有用到的 library 加到 Classpath 中
假设 Servlet Name= SendMailServlet.java放在 : C:\tmp\test
C:\tmp\test>dir
磁盘区 C 中的磁盘没有卷标。
磁盘区序号: 98D4-FB0A
目录: C:\tmp\test
2003/02/08 01:49p <DIR> .
2003/02/08 01:49p <DIR> ..
2003/02/08 01:49p 2,663 SendMailServlet.java <==========================
3 个档案 4,285 字节
2 个目录 6,969,479,168 字节可用
SendMailServlet.java 内容如下:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import sun.net.smtp.*;public class SendMailServlet extends HttpServlet {
public static String MAIL_FROM = "from";
public static String MAIL_TO = "to";
public static String MAIL_SUBJECT = "subject";
public static String MAIL_BODY = "body";
public static String MAIL_HOST = "mailhost";
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html; charset=BIG5");
PrintWriter out = resp.getWriter();
out.println("<form method=POST action=\"" + req.getRequestURI() + "\">");
out.println("<table>");
out.println("<tr><td>send mail server:</td>");
out.println("<td><input type=text name=" + MAIL_HOST + " size=30></td></tr>");
out.println("<tr><td>from:</td>");
out.println("<td><input type=text name=" + MAIL_FROM + " size=30></td></tr>");
out.println("<tr><td>to:</td>");
out.println("<td><input type=text name=" + MAIL_TO + " size=30></td></tr>");
out.println("<tr><td>subject:</td>");
out.println("<td><input type=text name=" + MAIL_SUBJECT + " size=30></td></tr>");
out.println("<tr><td>text:</td>");
out.println("<td><textarea name=" + MAIL_BODY + " cols=40 rows=10></textarea></td></tr>");
out.println("</table><br>");
out.println("<input type=submit value=\"Send\">");
out.println("<input type=reset value=\"Reset\">");
out.println("</form>");
out.flush();
} public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
resp.setContentType("text/html; charset=gb2312");
PrintWriter out = new PrintWriter(resp.getOutputStream());
String from = req.getParameter(MAIL_FROM);
String to = req.getParameter(MAIL_TO);
String subject = req.getParameter(MAIL_SUBJECT);
String body = req.getParameter(MAIL_BODY);
String mailhost = req.getParameter(MAIL_HOST);
try {
SmtpClient mailer = new SmtpClient(mailhost);
mailer.from(from);
mailer.to(to);
PrintStream ps = mailer.startMessage();
ps.println("From: " + from);
ps.println("To: " + to);
ps.println("Subject: " + subject);
ps.println(body);
mailer.closeServer();
out.println("Success!");
}
catch (Exception ex)
{
out.println("An error about:" + ex.getMessage());
}
out.flush();
} public void init(ServletConfig cfg) throws ServletException {
super.init(cfg);
}
public void destroy() {
super.destroy();
}
}
d. Compile SendMailServlet.java设定 Classpath:
C:\tmp\test>set classpath=.;D:\Tomcat 4.1\common\lib\servlet.jar; D:\Tomcat 4.1\common\lib\mail.jar
开始 Compile
C:\tmp\test>javac SendMailServlet.java
Compile 完成 在C:\tmp\test 目录中会产生一个档案 SendMailServlet.classe. 开始 Run Servlet SendMailServlet.class
1.Copy SendMailServlet.class to D:\Tomcat4.1\webapps\newproject\WEB-INF\classes\SendMailServlet.class
2. D:\Tomcat 4.1\webapps\newproject\WEB-INF 目录中加一个档案
web.xml
内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
<servlet>
<servlet-name>test2</servlet-name>
<servlet-class>SendMailServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test2</servlet-name>
<url-pattern>/servlet/SendMailServlet</url-pattern>
</servlet-mapping>
</web-app> 3. Start Tomcat
4. http://localhost:8080/newproject/servlet/SendMailServlet 开启妳测试 Javamail
的 Page 填好资料 Submit 后就可传 Mail