在reg.jsp文件中是gotoServlet
在配置文件中是
TheServlet
servlet.TheServlet
1
TheServlet
/servlet/TheServlet
而在工程里面的位置也如视频内提示的一样
src--|
| servlet--|
| TheServlet
WebRoot--|
| WEB-INF--|
| web.xml
| reg.jsp
这样整个的流转流程是怎么样的,在1-4节中的说明中,似乎由reg.jsp的超链接,获得的请求地址进入web.xml进行匹配判断,得到了对应的servlet,再由servlet定义的Class去进行相应的doget()方法。所以1-4节好像在说明:reg.jsp的超链接无论指向何处都没关系,只需要与在web.xml注册的servlet的url-pattern匹配即可?
但在1-13节的讲解中,说明了这个reg.jsp的超链接是直接链接到了项目虚拟地址/servlet/TheServlet,而在web.xml注册的servlet的url-pattern,是指项目中的这个servlet的地址(这里存在问题,这个属于地址么?如果是地址,指示一个TheServlet的文件,那么不需要后缀么?),在修改了url-pattern之后,在启动项目都无法进行了,是否相当于url-pattern要绑定(或者说链接)一个servlet.java?如果这样那么还需要所谓的servlet-class来指示类文件么?
所有主要的问题就两个:1、Jsp文件中的这个get方式的请求的超链接,到底是要指向什么?是一个确实的文件?还是一个随意的地址,只要servlet能接收这个超链接请求并返回信息即可?
2、在web.xml配置注册的servlet的url-pattern属性到底是什么东西,为什么没有首/就会出现连服务都无法启动的情况,是因为它要确实指向一个确实存在的servlet实现类吗?还是一个为了和Jsp超链接请求相互匹配进行处理的匹配数据信息,只是因为在jsp中使用的时候有默认添加上下文地址之类的操作,才导致必须添加首/,而在jsp中不能添加首/?
我的问题可能有些乱,初学JSP,不理解servlet,希望能得到指导