jsp放置到WEB-INF与放置在WebRoot和WebContent的区别

WebRoot和WebContent在Java Web项目中,仅仅是一个名称而已,在实际部署到Tomcat后,并不存在WebRoot和WebContent。

在Java Web项目中,如果将jsp页面放置到WEB-INF下,则在调用这些页面的时候需要在URL中添加“WEB-INF”。

Redirect重定向和Forward请求分派是实现页面跳转的两种方式,Forward请求分派是在原页面打开要跳转的网页,而Redirect重定向则是在新的页面打开要跳转的网页。

WEB-INF目录是不对外开放的,外部不能通过URL直接访问,外部只能通过映射为servlet、action、controller来通过服务器端跳转来访问WEB-INF目录下具体的jsp页面,这样可以提高安全性。放置在WEB-INF下的jsp页面只能使用Forward请求分派来进行访问。

将jsp页面放置到WEB-INF下,对于页面资源文件如css、js、image仍然放置在WebRoot和WebContent中,若将这些资源文件放置到WEB-INF下,则会导致资源文件无法被引用。

放置在WEB-INF下的jsp若需要引用css、js、image资源文件,其引用路径可以忽略WEB-INF

在spring-mvc.xml中配置视图解析器

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 		<property name="prefix" value="/WEB-INF/jsp/"></property>
 		<property name="suffix" value=".jsp"/>
 	</bean>

下面是跳转到项目首页对应的Controller中的内容

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/")
@Scope("prototype")
public class IndexController {

	@RequestMapping(value ="index")
	private String addCommonSense(HttpServletRequest request,HttpServletResponse response)  {
		
		return "/pages/FirstPage";
	}
}

web.xml中的welcome-file-list配置

<welcome-file-list>
    	<welcome-file>/index.do</welcome-file>
   </welcome-file-list>

输入http://localhost:8080/TestWeb/,即可跳转到项目首页。本例中外部请求通过映射为controller来通过服务器端跳转访问WEB-INF目录下具体的jsp页面,这样可以提高安全性。

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值