Servlet的请求与响应

 

Servlet是tomcat中的一个重要组成,也是负责客户端和服务端的中介

 

 

1,Http的请求方式(get  ,post);

  客户端的请求一般都会都是Servlet来接受的,在接收之前怎么来确定是那种方式提交的,以及如何反馈,Servlet中有相应的方法,  http的get方式 servlet就是都doGet()方法; http的post方式 servlet就是doPost()方法

 

post提交数据的实例:代码实现如下 使用url-pattern将java的方法设置成为一的资源

<h1>登录</h1>
<form action="postLogin" method="post">
账号:<input type="text" name="userName" /><br />
密码:<input type="passWord" name="userPwd" /><br />
<input type="submit" vule="提交" />

 

post提交到java处理的代码如下;

package servlet_v1;

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;

/**
 * 
 * @author Administrator
 *注册页面的post提交方式
 */
public class RegPost  extends HttpServlet{
   //重写提交的方法
	@Override
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		PrintWriter out =resp.getWriter();
		System.out.println("注册页面正在响应");
		resp.setCharacterEncoding("utf-8");
		//获得注册页面的账号和密码
		String userName = req.getParameter("userName");
		String userPwd = req.getParameter("userPwd");
		
		// 使用html方式输出
		String str = "<html><head>";
		// 定义html输出的字符集
		str += "<meta charset=\"utf-8\">";
		str += "</head><body>";
		// 将userName和userPwd与数据库的连接

		if (!userName.equals("") && !userPwd.equals("")) {
			str += "<h2>登录成功,<a href=\"index.html\">请登录</a></h2>";
		} else {
			str += "账号密码不能为空,<a href=\"reg.html\">请,重新注册!</a>";
		}
		str += "</body></html>";
		
		out.write(str);
		out.flush();
		out.close();
	}
}

 

 

在xml文件中注册一下java方法;

  <servlet>
     <servlet-name>RegPost</servlet-name>
     <servlet-class>servlet_v1.RegPost</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>RegPost</servlet-name>
   <url-pattern>/RegPost</url-pattern>
  </servlet-mapping>

 

 

get处理数据的提交  使用url-pattern将java的方法设置成为一的资源

 

package servlet_v1;

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;
/**
 * 
 * @author Administrator
 *
 */
public class Myservlet  extends HttpServlet{
	//重写HttpServlet的方法
	//HttpServletRequest请求的结果
	//HttpServletResponse 返回的结果
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//接收
	System.out.println("收到响应:"+req.getRequestURI());
	//响应
	PrintWriter out = resp.getWriter();
	out.write("PrintWriter ok!!!!");
	}
}

 将上述java处理在xml文件中注册

 <servlet>
   	<servlet-name>aa</servlet-name>
   	<servlet-class>servlet_v1.Myservlet</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>aa</servlet-name>
     <url-pattern>/resp</url-pattern>
  </servlet-mapping>

 

 

你可能感兴趣的:(servlet,get提交,java处理post提交)