一、通过web.xml进行servlet部署:
- 新建Dynamic Web Project:j2ee
- 创建 HelloServlet,修改其中的代码。注意在创建Servlet类的过程中包名置空,防止出现问题。
- 在WEB-INF目录中创建 web.xml,修改其中的代码。声明servelt对象:在<servlet>标签中设置,<servlet-name>用于指定servelt的名称,<servlet-class>用于指定servlet对象的完整位置,包含servlet对象的包名和类名。映射servlet:在<servlet-mapping>标签中配置,<servlet-name>元素的内容与<servlet>标签中的<servlet-name>相对应,<url-pattern>用于映射访问URL。(斜杠不能写掉)
- 启动Tomcat,运行j2ee。运行servlet的时候,会出现404错误。需要在此页面地址上加上hello,即web.xml中<url-pattern>元素中的内容。
servlet映射:将servlet类与URL(前端访问服务器的链接)一一对应,通过请求的路径找到<url-pattern>中相同的路径,然后通过<servlet-name>和<servlet-class>才能够找到相应servlet并调用。
二、通过注解方式进行servlet部署:
在FirstServlet.java里写入@WebServlet("/FirstServlet")代码,通过注解配置Servlet。(注意不要写掉“/”)如果使用了此方法,就不用在web.xml中进行配置,两种方法选择其一即可。
通过超链接打开servlet:
注意:这里不要加斜杠(“/”)。自己一开始加了斜杠,发现加载不出来。
三、过滤器-中文问题处理
通过过滤器处理中文问题的好处:如果有很多servlet都需要获取中文,那么就需要在每个Servlet中增加request.setCharacterEncoding("UTF-8");代码。通过Filter过滤器进行中文处理 ,就不需要单独处理了,更加方便快捷。
创建 EncodingFilter:
在web.xml配置EncodingFilter:
遇到的问题:一开始把配置filter的代码写到了<web-app></web-app>外面,程序报错。写到里面就好了。
不使用过滤器的效果:
使用过滤器的效果: