【Struts2集锦】 jsp页面位置不同访问方法不同

在做SSH的项目的时候,用URL访问页面的时候,有很多疑惑的地方。因为有的JSP页面直接放在WebRoot下面,有的页面放在WEB-INF下面,有的在WebRoot下面另起一个文件夹。当时在想这有什么区别呢??傻傻分不清楚。

最近看了超哥博客发现突然醒悟,自己就做了个实验。


login.jsp页面直接放在WebRoot下,进行了访问。如图:


在浏览器地址栏中输入:http://localhost:8080/struts2_01/login.jsp

可以直接访问到页面。



login.jsp页面放在WEB-INF下,进行了访问。如图:


在浏览器地址栏中输入:http://localhost:8080/struts2_01/login.jsp

不可以访问到页面。


可以访问的第一种方法:

Struts.xml配置,


然后在LoginAction中这样写:


在浏览器地址栏中输入:http://localhost:8080/struts2_01/login.action

就可以进行访问。


可以访问的第二种方法:

Struts.xml配置,


然后在LoginAction中这样写:


在浏览器中输入:http://localhost:8080/struts2_01/login_ss.action

可以进行访问。


login.jsp页面放在WebRoot下面另起一个文件夹,放置login.jsp.如图:


在浏览器中输入:http://localhost:8080/struts2_01/login/login.jsp

可以进行访问。


WebRoot下面可以直接访问而在Web-INF下面不可以直接访问的原因:原来是为了防止我们客户端不通过action直接访问我们的页面,将这些页面保护起来。这些页面只能通过Action访问。


还有一种就是不用输入login.jsp,也不用输入login.action就可以进行访问。是不是很神奇!如图:


方法一,在TomCatweb.xml中进行配置:

文件位置:



代码配置:



方法二:在程序的web.xml中进行配置如图:

文件位置:



代码配置:



通过自己的思考和实验,终于明白了其中的缘由。再也不会因为JSP放哪儿,地址栏的地址怎么变换的发愁了。以前就是懒,现在才去思考。。。。


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
要在 JSP 项目中配置 Struts2,需要遵循以下步骤: 1. 引入 Struts2 库:将 Struts2 库添加到项目的 classpath 中。可以从 Struts2 官网上下载最新版本的库文件。 2. 配置 web.xml:在 web.xml 文件中添加 Struts2 的配置信息。可以参考以下示例: ``` <web-app> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> ``` 3. 配置 struts.xml:创建一个名为 struts.xml 的配置文件,并将其放置在项目的类路径下。该文件包含了 Struts2 框架的配置信息,例如拦截器、Action 等。可以参考以下示例: ``` <struts> <package name="default" extends="struts-default"> <action name="hello" class="com.example.HelloAction"> <result name="success">/hello.jsp</result> </action> </package> </struts> ``` 在上面的示例中,定义了一个名为 "hello" 的 Action,它的类为 com.example.HelloAction,并且成功时返回 /hello.jsp 页面。 4. 创建 Action 类:创建一个 Java 类来处理请求并返回响应。可以继承 ActionSupport 类,该类提供了一些常用的方法,例如获取请求参数、设置响应结果等。可以参考以下示例: ``` public class HelloAction extends ActionSupport { private String message; public String execute() { message = "Hello, world!"; return SUCCESS; } public String getMessage() { return message; } } ``` 在上面的示例中,定义了一个名为 "message" 的属性和一个名为 "execute" 的方法,该方法返回 SUCCESS 常量。 5. 创建 JSP 页面:创建一个 JSP 页面来显示响应结果。可以参考以下示例: ``` <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Hello, world!</title> </head> <body> <h1><s:property value="message"/></h1> </body> </html> ``` 在上面的示例中,使用 Struts2 标签库的 s:property 标签来显示 "message" 属性的值。 完成上述步骤后,就可以在 JSP 项目中使用 Struts2 来处理请求和返回响应了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值