这篇文章将为大家详细讲解有关如何配置servlet,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Java servlet是一个基于Java技术的网络组件,运行在服务器端,由servlet容器所管理,用于生成动态的内容.Servlet是平台独立的Java类,编写一个servlet实际上就是按照servlet规范编写一个Java类。
servlet运行需要一个运行环境,即需要一个servlet容器,这里我们使用Tomacat.Tomcat作为一个Web服务器,具有处理HTML页面的功能,另外它还是一个servlet和JSP容器。
<强>实现一个helloWord例子。强>
<强>方式一强>:通过实现servlet接口来编写servlet类,需要实现接口中定义的5个方法,代码如下:
包day_052102; 进口java.io.IOException; 进口java.io.PrintWriter; 进口javax.servlet.Servlet; 进口javax.servlet.ServletConfig; 进口javax.servlet.ServletException; 与javax . servlet . servletrequest进口; 进口javax.servlet.ServletResponse;/* 这里通过实现Servlet接口来编写一个简单的Servlet */公共类ServletDemo实现Servlet { 公共空init (ServletConfig配置)抛出ServletException { } 公共ServletConfig getServletConfig () { 返回null; } 公共字符串getServletInfo () { 返回null; } 公共空间摧毁() { } 公共空间服务(ServletRequest点播,ServletResponse res) 抛出ServletException, IOException { PrintWriter=res.getWriter (); 都会(“hello World !”); out.close (); } }
然后进行网络。xml的配置,代码如下:
& lt; servlet> & lt; servlet-name> ServletDemo & lt; servlet-class> day_052102.ServletDemo & lt;/servlet> & lt; servlet-mapping> & lt; servlet-name> ServletDemo & lt; url-pattern>/ServletDemo & lt;/servlet-mapping>
点击运行按钮,启动tomacat服务器,然后在浏览器中输入http://localhost: 8080/day_052102/ServletDemo即可进行实现页面显示hello World的示例。结果如下。
公共抽象类GenericServlet实现servlet, ServletConfig, io。可序列化的
代码示例实现hellWord如下:
公共类GenericServletDemo GenericServlet延伸 { @Override 公共空间服务(ServletRequest点播,ServletResponse res) 抛出ServletException, IOException { PrintWriter=res.getWriter (); out.println (“hello World !”); out.close (); } }
<>强方式三:>强通过继承抽象的HttpServlet类,此类继承于GenericServlet类。
PS: HttpServlet类中没有抽象的方法。这个类重写了服务方法,它会根据请求的方式调用doGet或者doGet方法,部分源码如下:
保护无效服务(HttpServletRequest点播,HttpServletResponse resp) 抛出ServletException, IOException { 字符串方法=req.getMethod (); 如果(method.equals (METHOD_GET))//当请求方式为得到时,调用doGet方法 { 长lastModified=getLastModified(要求的); 如果(lastModified==1) {//servlet并# 39;t if - modified - since支持,没有理由//通过进一步昂贵的逻辑 doGet(要求、职责); } 其他的 { 长ifModifiedSince; 试一试 { ifModifiedSince=req.getDateHeader (HEADER_IFMODSINCE); } 抓住(IllegalArgumentException iae) {//无效日期标题——好像没有进行设置 ifModifiedSince=1; } 如果(ifModifiedSince & lt;(lastModified/1000 * 1000) {//如果servlet mod时间后,调用doGet ()//四舍五入到最近的第二个适当的比较//ifModifiedSince 1总是会更少 maybeSetLastModified(职责、lastModified); doGet(要求、职责); } 其他的 { resp.setStatus (HttpServletResponse.SC_NOT_MODIFIED); } } }
如果在自己写的类中重写了服务方法,那么Servlet容器就会把请求交给你重写的服务方法处理。
公共HttpServletDemo扩展HttpServlet类 { 保护无效doGet (HttpServletRequest点播,HttpServletResponse resp) 抛出ServletException, IOException { PrintWriter=resp.getWriter (); out.println(“你好!“); out.close (); } }如何配置servlet