基于MVC设计模式的Web应用框架:struts2的简单搭建(一)

Struts2的初步介绍

     Struts2是apache项目下的一个web 框架,普遍应用于阿里巴巴、京东等互联网、政府、企业门户网站。虽然之前存在了很大的安全漏洞,在2013年让苹果、中国移动、中国联通、百度、腾讯、

淘宝、京东、Sohu、民生银行等大型企业的网站均遭毒手。但这也恰恰说明struts2框架在当前应用的优越性,那么到底什么是struts2呢?

     Struts2 是目前较为普及和成熟的基于MVC设计模式的web应用程序框架,它不仅仅是Struts1 的升级版本,更是一个全新的Struts架构。最初,是以WebWork框架和Struts框架为基础,通过提供

增强和改进的Struts框架,进而实现简化web技术人员开发工作的目标。不久之后,Webwork框架和Struts社区联合创造了现在流行的Struts2框架。

     如果有同学想了解更多的内容的话,推荐大家查看https://www.w3cschool.cn/struts_2/,这里,我们直接进入主题:

    1.在搭建struts2之前,首先我们要确保struts2的运行环境正确无误。这里就不多说了,本项目用到的运行环境为:

  • JDK 1.8
  • Eclipes(IDE)
  • Tomcat 7.0

    2.如果第一步的运行环境搭建好了,最好能下载最新版本的Struts2 二进制文件,下载地址为 http://struts.apache.org/download.cgi ,在编写本博客时我下载的是 struts-2.5.13-all.zip,当然如果大家害怕后续出现运行时异常,也可以下载这一版本。下载完毕后将压缩包解压。

   3.创建一个动态Web项目,启动你的Eclipse,然后打开“File”>“New”>“Dynamic Web Project”,输入的项目名称,比如struts2-test2

                                                                                 

   4.从解压好的Struts2文件下的lib文件夹中拷贝以下文件到项目 WEB-INF\lib 文件夹。

  • commons-fileupload-1.3.3.jar
  • commons-io-2.5.jar
  • commons-lang-2.5.jar
  • commons-lang3-2.5.jar
  • commons-logging-1.1.3.jar
  • freemarker-2.3.26-incubating.jar
  • javassist-3.20.0-GA.jar
  • log4j-api-2.8.2.jar
  • ognl-3.1.15.jar
  • struts2-core-2.5.14.jar

    (如果大家没有选择下载和我一样的Struts2版本,那么就找到对应的版本号的jar包)

    5.按照如图所示,创建相应的文件

                                                          

 1).UserAction.java

 1 package com.nine;
 2 
 3 public class UserAction {
 4 
 5     private String name;
 6 
 7     public String getName() {
 8         return name;
 9     }
10 
11     public void setName(String name) {
12         this.name = name;
13     }
14 
15     public String execute() throws Exception {
16         return "success";
17     }
18 }

 UserAction.java 的execute方法返回的结果,要对应struts2.xml<result name="  ">中name映射的结果。 

2).struts2.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC
 3    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
 4    "http://struts.apache.org/dtds/struts-2.0.dtd">
 5 <struts>
 6    <package name="helloworld" extends="struts-default">
 7      
 8       <action name="hello" 
 9             class="com.nine.UserAction" 
10             method="execute">
11             <result name="success">/hello.jsp</result>
12       </action>
13    </package>
14 </struts>

          struts2配置文件要注意的是:

           1. <action name="hello ">中的内容要与index.jsp的  <form action="hello" >相一致。

           2.<action method="execute">中的内容对应了 UserAction中的方法 execute

           3.<package name="helloworld"> 为package的唯一标识,可以随便填写,只要保证它的唯一性 。 

           4.<action class="com.nine.UserAction">为jsp表单映射对应的Java文件。

3).web.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3    xmlns="http://java.sun.com/xml/ns/javaee" 
 4    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 5    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 6    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 7    id="WebApp_ID" version="3.0">
 8    
 9    <display-name>Struts 2</display-name>
10    <welcome-file-list>
11       <welcome-file>/index.jsp</welcome-file>
12    </welcome-file-list>
13    
14    <filter>
15       <filter-name>struts2</filter-name>
16       <filter-class>
17           org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
18       </filter-class>
19    </filter>
20 
21    <filter-mapping>
22        <filter-name>struts2</filter-name>
23        <url-pattern>/*</url-pattern>
24    </filter-mapping>
25 </web-app>
<filter-class></filter-class>中的内容是部署描述符(web.xml)中,Struts2 应用程序的接入点会定义为一个过滤器为 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
*并非所有的struts过滤器都是通过上述过滤器完成的,如果有同学在运行时发现找不到这个.class 就查一下对应版本的struts中对应得过滤器是如何定义的

4).index.jsp

 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2    pageEncoding="utf-8"%>
 3 <%@ taglib prefix="s" uri="/struts-tags"%>
 4    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
 5 "http://www.w3.org/TR/html4/loose.dtd">
 6 <html>
 7 <head>
 8 <title>Hello</title>
 9 </head>
10 <body>
11    <h1>Hello World From Struts2</h1>
12    <form action="hello" method="post">
13       <label for="name">Please enter your name</label><br/>
14       <input type="text" name="name"/>
15       <input type="submit" value="Say Hello"/>
16    </form>
17 </body>
18 </html>

5).hello.jsp

 1 <%@ page contentType="text/html; charset=UTF-8" %>
 2 <%@ taglib prefix="s" uri="/struts-tags" %>
 3 <html>
 4 <head>
 5 <title>Hello World</title>
 6 </head>
 7 <body>
 8      Hello World, <s:property value="name"/>
 9 </body>
10 </html>

 6.右键点击项目名称,接着点击“Export”>“WAR File”创建WAR文件,然后将WAR部署到Tomcat的webapps目录中。最后,启动Tomcat服务器并尝试访问URL http://localhost:8080/struts2-test2/index.jsp

                                                     

    输入任意内容,比如  “大圣” 

                                                     

 

 

 

不知道大家完成的怎么样了,如果出现问题,可以在下面进行留言,我会为大家进行解答.

 

转载于:https://www.cnblogs.com/baiyp/p/7918853.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值