html文件:
<html>
<title>
<head>me</head>
</title>
<body>
<form action="http://localhost:8080/test/login" method="post">
<input type="text" name="name">
<input type="password" name="pass">
<input type="submit">
</body>
</html>
servlet文件:
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class LoginServlet extends HttpServlet
{
public void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException
{
PrintWriter out=resp.getWriter();
String n=req.getParameter("name");
String p=req.getParameter("pass");
out.print(n);
out.print(p);
}
}
web.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>login</servlet-name>
        <class-name>LoginServlet</class-name>
    </servlet>
    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/login/*</url-pattern>
    </servlet-mapping>
</web-app>错误:
Servlet login is not available
The requested resource (Servlet login is not available) is not available.以上简单的servlet试验不知道错误发生在哪里,请求帮助。

解决方案 »

  1.   

    action不用写这么全吧,写相对于contextpath的就可以了
      

  2.   

    TO:syhan(藏书人)  Action在哪里???
    不要用默认包啦,加一个包进去,还有看看你是怎么请求这个Servlet的了.
      

  3.   

    1.把servlet.jar包加入classpath中;
    2.jsp页面中的action="http://localhost:8080/test/login"应该与web.xml中<servlet-name>login</servlet-name>相对应,即改成action="login"
    3.web.xml中<url-pattern>/login/*</url-pattern>,你为什么要加个*号,这个路径的定义指明的是你在浏览器中访问时的地址,所以定义简单一些要好。