package test;
import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletTest extends HttpServlet
{ //
public ServletTest()
{
super();
} //
public void destroy()
{
super.destroy(); //
} //
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{//只接受get请求 response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println("  <BODY>");
out.print("    This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println("  </BODY>");
out.println("</HTML>");
out.flush();
out.close();
} //
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{//post请求 response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println("  <BODY>");
out.print("    This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println("  </BODY>");
out.println("</HTML>");
out.flush();
out.close();
} //
public void init() throws ServletException
{
// Put your code here
}}
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">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
    <servlet-name>ServletTest</servlet-name>
    <servlet-class>test.ServletTest</servlet-class>
  </servlet>  <servlet-mapping>
    <servlet-name>ServletTest</servlet-name>
    <url-pattern>/test/ServletTest</url-pattern>
  </servlet-mapping>
 
</web-app>

解决方案 »

  1.   

    我表单里也是 method=post的,但用地址栏传参数,也就是GET方式,参数依然能进去的而且能返回正确的值,但这个网页上就可以实现这种屏蔽地址栏传参数的功能
      

  2.   

    要设置一下作用范围,如果是request的话,就可以实现第二次传值报错。当然session也行,估计你现在的scope为application,所以会出现自己在url中输入参数也可以正确显示。
      

  3.   

    禁止掉查询servelt的get方法
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
                     response.setContentType("text/html;charset=GBK");
                     response.getWriter().print("非法操作!");
            }