Servlet的两种配置(注解与web.xml)
servlet的配置
一、web.xml中Servlet的注解
<servlet>
<!-- servlet的内部名称,自定义 -->
<servlet-name>类名</servlet-name>
<!-- servlet的类全名:包名+类名 -->
<servlet-class>com.uplooking.controller.DemoAction</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- servlet的映射配置 -->
<servlet-mapping>
<!-- servlet的内部名称,一定要和上面的内部名称保持一致 -->
<servlet-name>类名</servlet-name>
<!-- servlet的映射路径(访问serclet的名称 )-->
<url-pattern>/DemoAction</url-pattern>
</servlet-mapping>
举例:
<!-- 通过Web.xml对servlet进行配置-->
<!--(1)servlet的声明实例-->
<!--servlet的注册声明:向Web服务器注册一个Servlet实例对象-->
<servlet>
<!-- 指明servlet实例的名字,具有唯一性-->
<servlet-name>Servlet</servlet-name>
<!-- 指明servlet的src目录下的后台实现类的包路径-->
<servlet-class>control.UserLogingServlet</servlet-class>
</servlet>
<!--(2)servlet的映射配置-->
<!--servlet的映射配置该servlet在服务器上响应处理哪个路径发过来的请求-->
<servlet-mapping>
<!--servlet的名字一定是在Web服务器中进行注册声明的-->
<servlet-name>Servlet</servlet-name>
<!--servlet的响应路径-->
<url-pattern>/UserLoginServlet</url-pattern>
<!--/是Web服务器的根目录-->
</servlet-mapping>
<!-- 指定程序启动时的默认主页面-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
servlet的访问:
1、首先,从浏览器中发送请求,是从当前工程中的路径与servlet-mapping标签中的url-pattern的标签值进行匹配。
2、根据这个映射值,找到servlet-mapping标签中的servlet-name的值与servlet标签中的servlet-name进行匹
3、匹配到以后,找到servlet标签中的servlet-class标签中对应servlet类的src文件夹下的全路径。
4、从而调用并执行相应的servlet类。
注意:servlet-mapping标签中的servlet-name的值与servlet标签中的servlet-name必须相同。
二、注解访问servlet
只需在对应的servlet类中添加servlet注解即可,从浏览器发送请求时,是用当前“工程”下的路径,会去对应servlet类的上面寻找是否存在对应url名称的@webServlet注解,存在的话,调用并执行对应的servlet类。
举例
@WebServlet(name = "LandServlet",urlPatterns = "/")这是注解的配置
总结:
共同点:注解访问servlet和web配置文件访问servlet都能完成对servlet的访问(二选一即可)。
注解访问servlet:
优点:代码少,可读性强,易于理解。
缺点:如果大量使用servlet注解,servlet类文件数量过多,不便于查找和修改。
web配置文件访问servlet:
优点:集中管理各servlet类路径的映射路径,便于修改和管理。
缺点:代码多,可读性不强,不易于理解。
注意:有时候在服务上运行的web程序数据不能及时更新,记得重启服务器或者清除浏览器缓存。