赶快把servlet.jar放在myThree--- WEB-INF---lib里面吧
在Eclipe中新建你的工程吧,也取名叫myThree好了,方便辨认,把你的源文件(.java)放在myThree--- javaSource里,把你的类文件(.class)放在myThree--- WEB-INF--- classes
里面吧。(如果不知道怎么弄,回去看火星和冥王星吧)
在Eclipe中,对着myThree右键----Properties—左边选“Java Build Path”右边选“Libraries”-----“Add External JARs”进入,把刚刚放在lib下的servlet.jar选中吧。。。
好了,写一个类先,就取名字叫:Test
程序代码如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test extends HttpServlet
{
public void doGet( HttpServletRequest rq,
HttpServletResponse rp )
throws IOException,ServletException
{
rp.setContentType("text/html;charset=gb2312");
PrintWriter out=rp.getWriter();
out.println("<html>欢迎你使用Servlet</html>");
}
}
把你的这个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>123</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>123</servlet-name>
<url-pattern>/abc</url-pattern>
</servlet-mapping>
</web-app>
请再次启动你的tomcat
在你的ie地址栏输入:
http://localhost:8080/myThree/abc
看到效果了吗?
怎么,觉得太没意思了,来个稍微复杂点的如何?
把刚刚上面的程序该为:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test extends HttpServlet
{
public void doGet( HttpServletRequest rq,
HttpServletResponse rp )
throws IOException,ServletException
{
rp.setContentType("text/html;charset=gb2312");
PrintWriter out=rp.getWriter();
out.println("<html>");
out.println("<form method=post action=abc>");
out.println("<input type=text name=t1><br>");
out.println("<input type=submit value=确定><br>");
out.println("</form>");
out.println("</html>");
}
public void doPost( HttpServletRequest rq,
HttpServletResponse rp )
throws IOException,ServletException
{
rp.setContentType("text/html;charset=gb2312");
PrintWriter out=rp.getWriter();
String t = rq.getParameter("t1");
out.println("<html>欢迎你:");
out.println(t);
out.println("</html>");
}
}
请再次启动你的tomcat
在你的ie地址栏输入:
http://localhost:8080/myThree/abc
在框框中输入你的名字,再按“确定”看看。。
只想说明2点:
看
out.println("<input type=text name=t1><br>");和
String t = rq.getParameter("t1");
下面的rq.getParameter("t1")会在上面找到一个name叫t1的东东,并且获得它的内容赋值给t。
再看web.xml
<servlet>
<servlet-name>123</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>123</servlet-name>
<url-pattern>/abc</url-pattern>
</servlet-mapping>
这里<servlet-class>Test</servlet-class>中的Test跟你工程中的类的名字一样
这里<url-pattern>/abc</url-pattern>中的abc跟你在ie地址栏上应用myThree后面输入的相同
这里<servlet-name>123</servlet-name>,上面、下面的一样。
这些,你都发现了吗?
现在你知道怎么把/abc 改为/cba、把123该为321了吗?