今天放了一个小假啊~大爷的,这个暑假真累~
看了一下个北京圣思圆的javaweb视屏教程,解决了两个疑惑。
1~
之前在学java ee的时候就觉得get和post如果单纯的用带不带参数来区别,未免显得过于不科学。
实际上造成get和post此两者的区别的原因是,请示格式的问题:
Get将这些个参数放置在url中当做一种资源来访问,而post则是以将参数设置在了请求体中去了。所以导致了用get方式的时候,地址栏中不可避免的会出现参数的内容,当然post也就看不到参数的内容。
2~
另外一个就是在项目中填写路径的时候,总是觉得怪怪的!
比如要访工程(JD)下的WebRoot/html/index.htm 这个时候在url的填写并不是http://localhost:8080/JD/WebRoot/html/index.htm
而是
http://localhost:8080/JD/html/index.htm
从Myeclipse左边的一级级的命名来看我总是觉得第一种写法才是对的~
但是这个这个Myeclipse中建立的webproject是要部署到tomcat的服务器中去的!我们可以通过部署项目的那个按钮查看到部署在tomcat服务器项目,看以看到如下:
经过对比,就可以知道部署在tomcat中的文件等,是在webapps/JD 恰好对应的是Myeclipse中JD/WebRoot,Myeclipse对应的应该是文件系统的形式(这样子的说法应该是有问题的),而我们浏览器访问的对象,或者说直接交互的对象则是服务器(部署在服务器中的资源),也就是说浏览器的地址栏(url)对应的应当是服务器中的资源,而不是Myeclipse中对应的内容。
然而视屏教程中的对server.xml的设置也应证了我的猜想,如图:
而对于servlet有:
我们访问服务器中的资源应当是通过url(统一资源定位器)也就是说我们如果访问的是这个Servlet的话,访问的路径应当是http://localhost:8080/JD/CartServlet
上图中的url-pattern应当是相当于一个逻辑的地址,在它的上面有一个servlet-name通过这个,我们能够从<servlet></servlet>中的映射找到servlet-class,也就是这个servlet的物理地址!
至此,解决2个问题~小小的高兴下!!