servlet不能运行,大家帮忙看看
web.xml里的配置:
<servlet>
<servlet-name>
techsupport
</servlet-name>
<servlet-class>
techsupport
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
techsupport
</servlet-name>
<url-pattern>
/techsupport
</url-pattern>
</servlet-mapping>
classes目录中techsupport.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import sun.net.smtp.SmtpClient;
import com.wrox.util.*;
public class techsupport extends HttpServlet
{
String message,msgFrom ,msgTo,msgSubject;
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException,ServletException
{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
getParameters(req);
if(!sendMail())
{
res.sendError(res.SC_INTERNAL_SERVER_ERROR,
"An error occured while attemption to access the main srver");
return;
}
HTML h =new HTML("XYZ corporation IT D epartment");
h.add(HTML.HEADING,"Your requet has been submitted",false);
out.println(h.getPage());
out.close();
}
private void getParameters(HttpServletRequest req)throws ServletException,IOException
{
StringBuffer tempStringBuffer=new StringBuffer(1024);
msgSubject="Tech Support Request";
msgTo="zrhk@21cn.com";
msgFrom=req.getParameter("txtEmail");
tempStringBuffer.append("From: ");
tempStringBuffer.append(req.getParameter("txtFirst"));
tempStringBuffer.append(" ");
tempStringBuffer.append(req.getParameter("txtLast"));
tempStringBuffer.append("\n");
tempStringBuffer.append("Phone: ");
tempStringBuffer.append(req.getParameter("txtPhone"));
tempStringBuffer.append("\n");
tempStringBuffer.append("Email: ");
tempStringBuffer.append(req.getParameter("txtEmail"));
tempStringBuffer.append("\n\n");
tempStringBuffer.append("Software: ");
tempStringBuffer.append(req.getParameter("ddlb_software"));
tempStringBuffer.append("\n");
tempStringBuffer.append("OS: ");
tempStringBuffer.append(req.getParameter("ddlb_os"));
tempStringBuffer.append("\n");
tempStringBuffer.append("Problem: ");
tempStringBuffer.append(req.getParameter("txtProblem"));
tempStringBuffer.append("\n");
message=tempStringBuffer.toString();
}
private boolean sendMail()
{
PrintStream out;
SmtpClient send;
try
{
send=new SmtpClient("21cn.com");
send.from(msgFrom);
send.to(msgTo);
out=send.startMessage();
out.println("From: "+msgFrom);
out.println("To: "+msgTo);
out.println("Subject: "+msgSubject);
out.println("\n--------------------------\n");
out.println(message);
out.println("\r\n");
out.println("\n--------------------------\n");
out.flush();
out.close();
send.closeServer();
}
catch(IOException e)
{
log("Error occurred while sending mail",e);
return false;
}
return true;
}
}
编译完全通过了
可是在运行时
http://localhost:8080/techsupport时
出现如下错误
***********************************************************************
Apache Tomcat/4.0.4 - HTTP Status 405 - HTTP method GET is not supported by this URL
--------------------------------------------------------------------------------
type Status report
message HTTP method GET is not supported by this URL
description The specified HTTP method is not allowed for the requested resource (HTTP method GET is not supported by this URL).
<servlet>
<servlet-name>
techsupport
</servlet-name>
<servlet-class>
techsupport
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
techsupport
</servlet-name>
<url-pattern>
/techsupport
</url-pattern>
</servlet-mapping>
classes目录中techsupport.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import sun.net.smtp.SmtpClient;
import com.wrox.util.*;
public class techsupport extends HttpServlet
{
String message,msgFrom ,msgTo,msgSubject;
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException,ServletException
{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
getParameters(req);
if(!sendMail())
{
res.sendError(res.SC_INTERNAL_SERVER_ERROR,
"An error occured while attemption to access the main srver");
return;
}
HTML h =new HTML("XYZ corporation IT D epartment");
h.add(HTML.HEADING,"Your requet has been submitted",false);
out.println(h.getPage());
out.close();
}
private void getParameters(HttpServletRequest req)throws ServletException,IOException
{
StringBuffer tempStringBuffer=new StringBuffer(1024);
msgSubject="Tech Support Request";
msgTo="zrhk@21cn.com";
msgFrom=req.getParameter("txtEmail");
tempStringBuffer.append("From: ");
tempStringBuffer.append(req.getParameter("txtFirst"));
tempStringBuffer.append(" ");
tempStringBuffer.append(req.getParameter("txtLast"));
tempStringBuffer.append("\n");
tempStringBuffer.append("Phone: ");
tempStringBuffer.append(req.getParameter("txtPhone"));
tempStringBuffer.append("\n");
tempStringBuffer.append("Email: ");
tempStringBuffer.append(req.getParameter("txtEmail"));
tempStringBuffer.append("\n\n");
tempStringBuffer.append("Software: ");
tempStringBuffer.append(req.getParameter("ddlb_software"));
tempStringBuffer.append("\n");
tempStringBuffer.append("OS: ");
tempStringBuffer.append(req.getParameter("ddlb_os"));
tempStringBuffer.append("\n");
tempStringBuffer.append("Problem: ");
tempStringBuffer.append(req.getParameter("txtProblem"));
tempStringBuffer.append("\n");
message=tempStringBuffer.toString();
}
private boolean sendMail()
{
PrintStream out;
SmtpClient send;
try
{
send=new SmtpClient("21cn.com");
send.from(msgFrom);
send.to(msgTo);
out=send.startMessage();
out.println("From: "+msgFrom);
out.println("To: "+msgTo);
out.println("Subject: "+msgSubject);
out.println("\n--------------------------\n");
out.println(message);
out.println("\r\n");
out.println("\n--------------------------\n");
out.flush();
out.close();
send.closeServer();
}
catch(IOException e)
{
log("Error occurred while sending mail",e);
return false;
}
return true;
}
}
编译完全通过了
可是在运行时
http://localhost:8080/techsupport时
出现如下错误
***********************************************************************
Apache Tomcat/4.0.4 - HTTP Status 405 - HTTP method GET is not supported by this URL
--------------------------------------------------------------------------------
type Status report
message HTTP method GET is not supported by this URL
description The specified HTTP method is not allowed for the requested resource (HTTP method GET is not supported by this URL).
...全文
相关推荐
servlet各个版本的区别
介绍了j2ee规范之servlet,本文档详细介绍了servlet各个版本的区别
Jcreator不能引入servlet包的解决办法
当用Jcreator开发servlet时,可能会遇到不能引入servlet包的问题,通过这个方法,你必定可以引入servlet包!
JSP学习之Servlet用法分析
本文讲述了JSP学习之Servlet用法。分享给大家供大家参考。具体分析如下: Servlet是使用JavaServlet应用程序设计接口编写的Java程序,源于请求/响应模式,可以接受来自客户端浏览器的Http请求,产生一个响应并返回客户端. Applet JSP JavaBean 和Servlet的区别和联系 Applet和Servlet中都没有main()方法,只有一些特定的方法,用于启动执行和退出,但是Servlet不提供用户界面,运行在服务器端,而Applet提供用户界面,运行在客户端. Servlet和JavaBean都是用Java编写,但是JavaBean不能独立运行,只是提供接
Servlet登录验证
此资源实现登录,然后通过servlet验证。登录成功则进行跳转。
servlet课件
课件,servlet的一些知识,想学习的一起研究学习。


Web 开发
