servlet简介
2017-08-25 22:39
274 查看
servlet类简介
servlet类通过init () 方法进行初始化,service() 方法来处理客户端的请求,destroy() 方法终止(结束)。最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。而常见的doGet、doPost、doPut、doDelete 等方法都是隶属于service中的一种。
下面是一个最简单的servlet类(不通过注释)
public class HelloServle extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String title = "第一个Servlet程序"; String docType = "<!DOCTYPE html>\n"; String word="Hello Servlet"; out.println(docType + "<html><head><title>" + title + "</title></head><body><h1 align='center'>" + word + "</h1></body></html>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
该servlet需要在web.xml上进行配置才能使用
<web-app> <servlet> <servlet-name>HelloServle</servlet-name> <servlet-class>HelloServle</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServle</servlet-name> <url-pattern>/hello/HelloServle</url-pattern> </servlet-mapping> </web-app>
其中url-pattern是servlet在服务器上显示的名字
不过以上是在servlet3.0之前的一般用法,在web3.0之后,一般来说创建得web项目里面没有web.xml文件(需要自己编写),但同时,其中大部分的需要配置的部分都可以使用@Annotation(此时需要web.xml中的版本号高于3.0)进行配置
如上面的代码,若是使用@Annotation进行配置使用的话,只需要在类前面加上@WebServlet(“/hello/HelloServlet”)就会在没有使用web.xml进行配置的同时达到同样的效果。
此时另外写个相似的类进行示例
示例如下:
@WebServlet("/helloServlet/HelloServlet") public class HelloServletForAnnotation extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String title = "第一个Servlet程序(注释版本)"; String docType = "<!DOCTYPE html>\n"; String word="Hello Servlet For Annotation"; out.println(docType + "<html><head><title>" + title + "</title></head><body><h1 align='center'>" + word + "</h1></body></html>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
产生效果如下:
同时,类似于servlet的filter文件也可以使用注释进行配置,使用的配置代码为@WebFilter(“”)
不过需要注意@WebServlet(“path”)中的path以及web.xml中的url-pattern中填写路径时需要前面加上/,比如路径名为hello,那最终写的时候不该是@WebServlet(“hello”)而该是@WebServlet(“/hello”),否则会报错
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/项目名]]
相关文章推荐
- Servlet简介(一)
- Servlet技术一Servlet简介
- ---Servlet(一)简介
- HttpServletRequest对象简介_动力节点Java学院整理
- servlet之cookie简介_动力节点Java学院整理
- servlet简介
- Servlet学习 简介
- Servlet 1 简介
- [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期
- 《Java Servlet编程》笔记(Servlet简介)
- Servlet 简介及其执行流程
- Servlet简介
- J2EE简介之Servlet的生命周期
- Servlet技术简介与编写、编译Servlet程序
- Servlet技术简介与编写、编译Servlet程序
- Servlet规范简介
- Servlet生命周期简介
- 20180312:Servlet简介与体系结构、实现方式、配置方式、生命周期、转发与重定向、JSP的相关内容
- 《Servlet学习笔记》Servlet 简介
- Servlet教程____Servlet简介和工作原理