1创建一个简单的servlet(servlet3.0开始支持注解配置)
1创建一个javaee项目
2定义一个类,实现Httpservlet接口
public class ServletDemo01 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); // 处理响应乱码问题:字节流需getBytes("UTF-8") response.getWriter().write("hello servlet"); // str = new String(str.getBytes("ISO-8859-1"), "UTF-8"); // 处理get请求乱码问题 } protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { doGet(request, response); // 主要加这一句 } }
3实现接口中的抽象类
4在web.xml文件中配置servlet
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>ServletDemo01</servlet-name> <!--名字可以自定义 --> <servlet-class>cn.servlet1.gsj.ServletDemo01</servlet-class> <!--写自己编写的那个servlet程序的完整路径-->
<load-on-startup>1</load-on-startup> <!--提前创建servlet-->
</servlet> <servlet-mapping> <servlet-name>ServletDemo01</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
2 servlet的生命周期
servlet存在线程安全问题,解决方式是尽量不要定义成员变量。如果需要定义那么不要为定义的成员变量赋值!
3 Servlet的体系结构