一、Servlet概述
(1)步骤一:写一个java程序实现Servlet接口(此处直接继承了默认实现类GenericServlet)
package cn.itheima;
import java.io.*;
import javax.servlet.*;
public class FirstServlet extends GenericServlet{
public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{
res.getOutputStream().write("My FirstServlet!".getBytes());
}
}
在命令行里调用java命令进行编译,生成.class文件
<servlet-name>FirstServlet</servlet-name> ------- 为要访问的servlet起个名字,这个可以随意起
<servlet-class>cn.itheima.FirstServlet</servlet-class> --------类的全路径,指的就是真正要访问的那个servlet
</servlet>
<servlet-mapping> ------映射的意思
<servlet-name>FirstServlet</servlet-name> ------为名为“FirstServlet”的servlet规定虚拟路径
<url-pattern>/FirstServlet</url-pattern> -----为这个servlet规定一个虚拟路径
。class
1.sun公司提供的动态web资源开发技术。本质是上一段java小程序,要求这个小程序必须实现Servlet接口,以便服务器能够调用。
但是我们并不知道servlet这个接口里到底规定了哪些方法,sun公司提供了几个已经实现了servlet接口的几个类:FacesServlet,GenericServlet,HttpServlet
所以我们直接继承这些类。
2.开发Servlet的两个步骤
*实验:Servlet的快速入门(1)步骤一:写一个java程序实现Servlet接口(此处直接继承了默认实现类GenericServlet)
package cn.itheima;
import java.io.*;
import javax.servlet.*;
public class FirstServlet extends GenericServlet{
public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{
res.getOutputStream().write("My FirstServlet!".getBytes());
}
}
在命令行里调用java命令进行编译,生成.class文件
(2)将编译好的带包的.class放到WEB-INF/classes下以外,还要配置web应用的 web.xml注册Servlet。
(带包的.class文件指的是需要把class文件放在一个目录里,如把FirstServlet.class放在cn文件夹下的itheima文件夹下)
<servlet-name>FirstServlet</servlet-name> ------- 为要访问的servlet起个名字,这个可以随意起
<servlet-class>cn.itheima.FirstServlet</servlet-class> --------类的全路径,指的就是真正要访问的那个servlet
</servlet>
<servlet-mapping> ------映射的意思
<servlet-name>FirstServlet</servlet-name> ------为名为“FirstServlet”的servlet规定虚拟路径
<url-pattern>/FirstServlet</url-pattern> -----为这个servlet规定一个虚拟路径
</servlet-mapping>
最后的效果就是,我们在浏览器的url输入localhost:/FirstServlet 就可以直接运行你写好的那个全路径名为cn.itheima.FirstServle的tservlet
全路径:包名+类名
@Test
public void testGetFullName(){
Class class1 = FeiLongIO.class;
System.out.println(class1.getName());
}
--------------------------------
结果
com.feilong.common.io.FeiLongIO
servlet配置中init-param 是什么意思,有什么作用:
需要初始化的参数,比如你的servlet里面有个属性为int total=0,则用init-param 给他赋值
例如:springMVC需要配置web.xml:
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> -----标记容器是否在启动的时候就加载这个servlet,正数的值越小,启动该servlet的优先级越高。 </servlet>
。class