Form表单提交到Servlet处理的正确方法

只适合初学Web的小白哈,大神忽略即可

(1)首先新建一个Dynamic Web Project项目,我的项目名叫MyWebTest,

(2)在WebContent->WEN-INF文件夹下新建一个web.xml配置文件,文件内容如下:

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

  version="3.0"

  metadata-complete="true">

 

    RegisterServlet

    com.myWebTest.servlet.RegisterServlet

 

 

    RegisterServlet

    /RegisterServlet

 

其中RegisterServlet,表示你给这个servlet起的名字,com.myWebTest.servlet.RegisterServlet,是你起的名字对应的Servlet类,RegisterServlet是你在com.myWebTest.servlet包名下新建的Java 类,中的 RegisterServlet要和上面起的名字一样, /RegisterServlet,这个/RegisterServlet就是你在表单的action要用到的url,

(3)在WebContent目录下新建一个index.jsp文件,下面列出index.jsp的表单的代码:

上面的代码就可以把表单提交给RegisterServlet这个类处理,action由两部分构成,第一部分是项目的名字,MyWebTest,特别不能少了这个,第二部分是在web.xml中的url-pattern中指定。

(4)错误总结:如果在表单中的action中少了第一部分,也就是项目的名字,那么浏览器会提示找不到请求的url,返回的404。

(5)下面是使用ajax提交请求到RegisterServlet处理的完整代码:

 ----web.xml中代码

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

  version="3.0"

  metadata-complete="true">

 

    RegisterServlet

    com.myWebTest.servlet.RegisterServlet

 

 

    RegisterServlet

    /RegisterServlet

 

---index.jsp中代码

 

  register page

 

 

 

 

 

 

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

 

 

 

 

---RegisterServlet.java中代码,在com.myWebTest.servlet包名下

package com.myWebTest.servlet;


import java.io.Console;

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;

import javax.servlet.http.HttpSession;


@SuppressWarnings("serial")

public class RegisterServlet extends HttpServlet {

public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{

String username=request.getParameter("username");

PrintWriter writer=response.getWriter();

HttpSession session=request.getSession();

Integer count=(Integer)session.getAttribute("count");

if(count==null){

count=0;

}

session.setAttribute("count", ++count);

if(username != null&&username.equals("mbj")){

writer.write("username is exit you visit "+count+" times");

}else{

writer.write("username is not exit you visit "+count+" times");

}

writer.close();

}

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{

this.doGet(request, response);

}

}

你可能感兴趣的:(Form表单提交到Servlet处理的正确方法)