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>