Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
servlet本质上是一个特殊java类,需要遵循servlet规范,比如servlet没有main方法,servlet和http协议联系紧密。
新建一个dynamic web project,src目录下新建包,然后新建一个HelloworldServlet.java类.
package ucas.ac.cn.servlet;
import javax.servlet.http.HttpServlet;
public class HelloworldServlet extends HttpServlet{
}
在eclipse中,单击鼠标右键->source->Override/Implement methods,然后选择doGet和doPost方法.
做一个用户登录的例子,用户在客户端提交用户名和密码后,HelloworldServlet去处理用户参数,根据处理结果转发到不同的页面.
首先在webContent/12目录下添加login.jsp:
<code class=" hljs xml"><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> </code>
现在action地址为空,当点击登录按钮后我们希望一个servlet去处理用户提交的用户名和密码,下面在配置servlet路径。
HelloworldServlet
ucas.ac.cn.servlet.HelloworldServlet
HelloworldServlet
/Helloworld
中有两个属性,第一个是servlet-name,这个名字可以自定义,第二个是servlet-class,表示serlet-name所对应的java类的位置;
中也有2个属性,第一个servlet-name即为
中所定义的servlet的名字,第二个url-pattern为在浏览器中的访问名称,在这个实例中访问http://localhost:8080/工程名/Helloworld就会转到ucas.ac.cn.servlet包目录下的HelloworldServlet类。
修改logn.jsp:
在HelloworldServlet.java中编写处理用户名和方法的doGet和doPost方法:
package ucas.ac.cn.servlet;
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 HelloworldServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("userName");
String password = req.getParameter("passWord");
PrintWriter pw = resp.getWriter();
pw.println(username);
pw.println(password);
pw.close();
}
}
这样用户名和密码就被输出到浏览器。