Servlet的根本使用(和jsp的比较)

Servlet的基本使用(和jsp的比较)

   1、Servlet相比于jsp更加关心逻辑实现。在jsp中,用户在浏览器输入域名例如:http://localhost:8080/web004/jsp1.jsp,浏览器中就会呈现jsp页面的内容。那么,为了让用户有访问servlet的接口,开发者通过在web.xml配置文件中配置相关的内容,提供给用户一个映射。例如:

<servlet>

    <servlet-name>MyServlet1</servlet-name>

    <servlet-class>servlet.MyServlet</servlet-class><!---类的路径,在web工程下的src文件里的java文件,继承Servlet->

  </servlet>

  <servlet-mapping><!-- 实现将MyServlet映射给用户,根据配置的url参数,用户只需在域名后加上参数MyServlet就成功了-->

    <servlet-name>MyServlet</servlet-name>

    <url-pattern>/MyServlet</url-pattern>

  </servlet-mapping>

如上配置的参数是MyServlet就可以了,域名:http://localhost:8080/web004/Servlet。

 

2、MyServlet的实现

package servlet;

 

 

import java.io.IOException;

import java.io.PrintWriter;

 

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

/**

 * Servlet implementation class MyServlet

 */

public class MyServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

 

   

    public void init( ServletConfig config) throws ServletException{

    super.init(config);

    }

 

 

@Override

protected void service(HttpServletRequest arg0, HttpServletResponse arg1)

throws ServletException, IOException {

// TODO Auto-generated method stub

super.service(arg0, arg1);

PrintWriter out=arg1.getWriter();

arg1.setContentType("gbk");

out.println("<html><body>");

out.println("servlet hello");

out.println("</body></html>");

}

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

// TODO Auto-generated method stub

//super.doGet(req, resp);//没有任何操作,不要用父类的方法

}

 

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

// TODO Auto-generated method stub

super.doPost(req, resp);

}

 

}

注意:如果jdk版本低 doGet,和doPost方法会自动super父类的方法,会出现405(方法找不到的错误)。

只能将方法体设为空。一定要注意啊,骚年

 所以, 405 错误可能会因 Web 服务器没有被设置为从客户端接受输入数据而出现。 另外, 如果客户端对请求中指明的具体网址资源没有足够的权力, 该错误也会出现。