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>