【手工编写第一个servlet】
【步骤】
1.继承HttpServlet
2.重写doGet()或者doPost()方法 //这个doGet或者doPost方法取决用户提交的方式
3.在web.xml中注册servlet
【实现】
1.index.jsp
<body>
<h1>第一个servlet小例子</h1>
<hr>
<a href="servlet/HelloServlet">通过doGet得到servlet</a>
<form action="servlet/HelloServlet" method="post">
<input type="submit" value="通过doPost得到servlet"/>
</form>
</body>
2.servlet/HelloServlet
package 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 HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("处理doGet()方法......");
PrintWriter out=response.getWriter(); //获取在浏览器输出的对象
response.setContentType("text/html;charset=utf-8"); //按照样式输出html的格式
out.println("<strong>HelloServlet</strong>");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("处理doPost()方法......");
PrintWriter out=response.getWriter(); //获取在浏览器输出的对象
response.setContentType("text/html;charset=utf-8"); //按照样式输出html的格式
out.println("<strong>HelloServlet</strong>");
}
}
3.配置WEB-INF/web.xml
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/servlet/HelloServlet</url-pattern>
</servlet-mapping>
【分析】
1.在书写java代码的时候需要继承HttpServlet
2.在实现doPost或者doGet方法的时候一定要删除(见下图),否则你的页面将不会显示内容
3.在web.xml文件中
这两条语句的name必须相同,否则你的console控制台将会报错
4.运行原理分析:页面中的href中的链接为“servlet/HelloServlet”,首先进入<servlet-mapping>,找到虚拟路径,然后通过name找到<servlet>----><servlet-name>----><servlet-class>