一.最基本的servlet类生成和访问方法 Servlet接口,HttpServlet类
1.直接继承Httpservlet类,编写用户需要的Servlet
public class ServletDemo01 extends HttpServlet
2.直接实现Servlet接口,编写Servlet
public class ServletDemo02 implements Servlet
public static void main(String[] args) throws ServletException, IOException
3.可以调用servlet的生命周期方法init,destory, service
4.HttpServletResponse.getWriter().append直接输出到浏览器的文本
二、通过web.xml配置servlet
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>ServletDemo02</servlet-name>
<servlet-class>com.zfh.ServletDemo02</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo02</servlet-name>
<url-pattern>/servletDemo02</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ServletDemo03</servlet-name>
<servlet-class>com.zfh.ServletDemo03</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo03</servlet-name>
<url-pattern>/servletDemo03</url-pattern>
</servlet-mapping>
- welcome-file-list welcome-file 可以配置访问根目录下的jsp,html文件
- servlet-name为servlet命名 servlet-class指定servlet
- servlet-mapping 中的servlet-name找到servlet,配置url-pattem指定虚拟路径,通过url访问
三、通过注解直接配置Servlet
@WebServlet
用法
<form name="form1" method="post" action="RegisterServletCheck">
在java文件中添加注解
@WebServlet(name="RegisterServletCheck
", urlPatterns={"/RegisterServletCheck
"})
和在web.xml中这么配置一样
<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>完整类名</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
如果两中方式都放在同一个请求的页面中,也就是当两者重复,但配置的属性不同时,Web容器会以Web部署文件web.xml中的信息为准
注解和web.xml的优缺点比较
缺点:注解的开启/关闭必须修改源代码,因为注解是源代码绑定的,如果要修改,需要改源码,这个有这个问题,所以如果是这种情况,还是使用XML配置方式;比如数据源;
优点:注解相对于XML的另一个好处是类型安全的,XML只能在运行期才能发现问题
在比较小型的项目中,提高开发效率
四、解决导入的war包在idea中无法创建java类文件问题
这是因为没有指定项目的源文件
解决办法:文件->项目结构->模块->设置src为源文件夹即可