JAVA WEB开发 初学者!
我要问的问题其实不止这几个,陆续会再问的,现在的问题是:1,web项目为什么要分成两个配置文件,一个是web.xml一个是struts-config.xml,为什么要分成...
我要问的问题其实不止这几个,陆续会再问的,现在的问题是:1,web项目为什么要分成两个配置文件,一个是web.xml一个是struts-config.xml,为什么要分成两个,作用有什么不同。2,看图,我在写登录验证的时候,最开始是从login进入,那么这里面就有一个表单输入用户名和密码之后点击登录,这里写的是<form action="/strutslogin/action.do"...>是要从login页面跳转到loginAction中去,在这一行代码中,①为什么路径要从/根目录开始写起而不直接写action=“loginAction”?②就算要这样写为什么中间的WebRoot以及WEB-INF这些可以不写?
初学者,我相信高手一定会看明白我的问题的。谢谢! 展开
初学者,我相信高手一定会看明白我的问题的。谢谢! 展开
2个回答
展开全部
先跟你说几个事情,后期好处理你多个问题。
1.src是源文件夹,这里你可以创建N个源文件夹,都是未来要编译的,你也可以创建一个源文件夹叫conf,把配置文件都放这里,但是前提struts1不可以(一会说为什么),也就是源文件夹是一类,等着编译的,那么编译到哪呢? 就是下面的
2.WebRoot\WEB-INF\classes有这个文件夹,编译的东西就在这,WEB-INF下这里只对程序员可见,对请求者也就是客户端不可见(默认就是classes和lib),所以有些项目为了不让用户直接访问JSP,就将JSP放这下面,用户只能请求控制层(以后我说C层),然后返回相应页面,当然,有的项目还有欢迎页,在web.xml里配置的,下面说它
3.web.xml,这个是Web项目中自带的,为什么自带?因为一个web项目在被部署(就是加载到WEB容器里,比如tomcat,jboss等)后,当启动web容器时,web.xml里面就会有几个标签被web容易所加载读取。并且这里有很多标签,加载也是有顺序的,会一个一个扫描,你刚学,什么顺序自己以后研究。
说第一个问题,首先我要说现在很少用Struts1,也就是教学用用,毕竟教学更新慢,至少现在都用struts2(以后简称S1,S2)。那个目录之所以一定要在那,是因为s1源码默认去那个路径找配置文件,如果你以后会s2,并且集成spring,你就知道配置文件路径可更改。
说第二个问题,这里WebRoot文件夹名字不是必须的,但是从它开始往下就是未来要发布出去的东西,就是所谓的前台展示,在代码中只要有关路径的地方以/开头,都是说从它往下开始,这样配置有一点好,就是未来其他路径变了,请求也不用变,因为是从所谓的相对中的绝对路径请求。
第三个问题我想不用过多解释,web.xml是属于web项目,并不属于某个技术,struts1的那个配置文件就属于s1框架的,s2的就叫struts.xml,记得框架源码都有一个默认加载的文件名和路径,你刚学就那么写就行,以后懂了就随意更改。
最后说下为什么有的把JSP放到不让直接访问,必须先走C层呢(s1和s2框架就是MVC框架),因为有好多页面要判断用户是否登录,如果没登录是不能直接访问的,必须要先登录,这样从C走,我就可以判断代码,要是直接访问页面,还得在页面里写小脚本判断。 通常先走C是对的,域名直接映射成C的请求。再有不懂追问,呵呵
1.src是源文件夹,这里你可以创建N个源文件夹,都是未来要编译的,你也可以创建一个源文件夹叫conf,把配置文件都放这里,但是前提struts1不可以(一会说为什么),也就是源文件夹是一类,等着编译的,那么编译到哪呢? 就是下面的
2.WebRoot\WEB-INF\classes有这个文件夹,编译的东西就在这,WEB-INF下这里只对程序员可见,对请求者也就是客户端不可见(默认就是classes和lib),所以有些项目为了不让用户直接访问JSP,就将JSP放这下面,用户只能请求控制层(以后我说C层),然后返回相应页面,当然,有的项目还有欢迎页,在web.xml里配置的,下面说它
3.web.xml,这个是Web项目中自带的,为什么自带?因为一个web项目在被部署(就是加载到WEB容器里,比如tomcat,jboss等)后,当启动web容器时,web.xml里面就会有几个标签被web容易所加载读取。并且这里有很多标签,加载也是有顺序的,会一个一个扫描,你刚学,什么顺序自己以后研究。
说第一个问题,首先我要说现在很少用Struts1,也就是教学用用,毕竟教学更新慢,至少现在都用struts2(以后简称S1,S2)。那个目录之所以一定要在那,是因为s1源码默认去那个路径找配置文件,如果你以后会s2,并且集成spring,你就知道配置文件路径可更改。
说第二个问题,这里WebRoot文件夹名字不是必须的,但是从它开始往下就是未来要发布出去的东西,就是所谓的前台展示,在代码中只要有关路径的地方以/开头,都是说从它往下开始,这样配置有一点好,就是未来其他路径变了,请求也不用变,因为是从所谓的相对中的绝对路径请求。
第三个问题我想不用过多解释,web.xml是属于web项目,并不属于某个技术,struts1的那个配置文件就属于s1框架的,s2的就叫struts.xml,记得框架源码都有一个默认加载的文件名和路径,你刚学就那么写就行,以后懂了就随意更改。
最后说下为什么有的把JSP放到不让直接访问,必须先走C层呢(s1和s2框架就是MVC框架),因为有好多页面要判断用户是否登录,如果没登录是不能直接访问的,必须要先登录,这样从C走,我就可以判断代码,要是直接访问页面,还得在页面里写小脚本判断。 通常先走C是对的,域名直接映射成C的请求。再有不懂追问,呵呵
更多追问追答
追问
也许你是高手吧,首先感谢你写的这么多东西,(如果不是复制的)肯定是用了很大功夫敲的这些字,但是吧,也许您是站在一个一定层次上说的这些,对于我这个初学者来说,很想完完全全看明白您的文字,但是心有余力不足,我想用您的意思说,可能我需要在今后熟练了之后自己慢慢领悟了。我再看看还有没有更通俗易懂的答案吧。真的不是说您写的不好的意思,是我太才疏学浅了。感激不尽!
追答
哈哈,我以为什么呢,百度知道这分对我来说就是数据,完全没用,我给你的回答你百度知道里会有记录,以后回头看就知道了,如果我以上说的你不是太懂,那就只能说你java项目就不是很明白,比如在java项目中放几个文件,用IO去读等。 呵呵,没事,以后就好了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询