1010cc时时彩标准版 > 三分时时彩1010CC > 【1010cc时时彩标准版】java里Struts2学习登录练习详

原标题:【1010cc时时彩标准版】java里Struts2学习登录练习详

浏览次数:148 时间:2019-08-14

java里Struts2学习登录练习详解,javastruts2

  最近在学struts2里面遇到很多错误,今天跟大家分享一下,我的开发工具是Eclipse;

1、到网上下载Struts2的包,这里不再累赘,百度有很多;

2、新建一个项目,记得后面加上web.xml文件;

3、先部署struts2开发环境。

1010cc时时彩标准版,    (1)、在struts2.2以后,我们需要导入的包有以下几个:
    commons-fileupload-1.2.1.jar
    commons-io-1.3.2.jar
    commons-logging-1.0.4.jar
    commons-lang3-3.1.jar
    freemarker-2.3.16.jar
    javassist-3.7.ga.jar
    ornl-3.0.jar
    struts2-core-2.2.1.1.jar,
    xwork-core-2.2.1.1jar

    我通常都是把这些文件复制到WEB-INF/lib目录里。也可以在项目属性的Java Build Path中的libraries里面添加;

 

    (2)、在lib文件夹下面的web.xml文件添加以下内容:

    

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping> 

 

      现在web.xml文件是这样的

    

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Struts2Mianshi</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping> 
</web-app>

 

 

    (3)、在src目录下新建struts.xml文件,记住配置文件位置 在src目录下,命名struts.xml  小写。配置struts.xml文件

  

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
    <package name="main" extends="struts-default">
       <!--这个里面写action配置-->
    </package>
</struts>

 

4、在WebContent建一个文件夹存放JSP页面的(我建议还是建立一个Page文件夹  有利于文件的管理,还有后面的路径也好弄)

5、在Page文件里创建一个JSP文件命名index.jsp写登陆界面

<%@ page language="java"  contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
    String RootPath=request.getContextPath();
    %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登陆界面</title>
</head>
<body>
    <form action="<%=RootPath %>/login" method="post">
        登陆<br/>
        账号:<input type="text" name="username" /><br />
        密码:<input type="password" name="userpwd" /><br /> 
        <input type="submit" value="提交"/>
    </form>
</body>
</html>

<%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径。

 

6、在src下创建一个包在创建一个loginAction.java 让这个类继承ActionSupport(action文件命名规则自己看)

1010cc时时彩标准版 1

 

看到JSp页面的账号username与密码userpws不。这边要获取就要命名跟他一样

private String UserName;并get、set 然后写execute()方法

 

package com.weiyang.acction;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class loginAction extends ActionSupport {
    private String username;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getUserpwd() {
        return userpwd;
    }
    public void setUserpwd(String userpwd) {
        this.userpwd = userpwd;
    }
    private String userpwd;

     /**
     * execute方法会在该Action类被调用的时候自动执行,
     * 如果 账号="admin"并且密码="123456",就返回SUCCESS
     * 否则返回ERROR
     */
     public String execute()
     {
         if(username.equalsIgnoreCase("admin") && userpwd.equalsIgnoreCase("123456"))
         {
             return SUCCESS;
         }
         else

         {
             return ERROR;
         }
     }
}

 

7、action写好了就去配置struts.xml

 

<!--action标签的name是login,这个必须跟index.jsp中的action属性一致性。class是loginAction类的全称-->
            <action name="login" class="com.weiyang.acction.loginAction">
                <!--这个标签的意思是当LogAction类的execute方法返回SUCCESS时,页面跳转到success.jsp-->
                <result name="success">WEB-INF/success.jsp</result>
                <result name="error">WEB-INF/error.jsp</result>
            </action>

 

 

login,这个必须跟index.jsp中的action属性一致性。class必须写loginAction类的全称
success 跟error是jsp文件  用来验证成功与失败 把他们新建在WEB-INF目录下

<result name="success">WEB-INF/success.jsp</result>  其他目录建立的写好路径

我的文件结构

1010cc时时彩标准版 2

 

个人理解的流程,web.xml文件中加入了strtus配置文件,所以index.jsp运行后指向action里面的login,在struts.xml文件找到login通过class找到action类,进行execute方法根据返回的success或者error又指向对应的jsp文件显示给用户。

开始做的时候  出现额404错误  

<!--<constant  name="struts.action.extension" value="action,do"></constant>-->  我在struts.xm文件中有这句运行index.jsp出现404

 

 

action="<%=RootPath %>/login" method="post">  没有获取项目路径也是404,就是像这样action="login" method="post">  

因为我建了一个文件夹PageHH存放jsp文件 所以路径就出现问题

 

最多的还是上面说的细节  命名,struts.xml文件里的配置不仔细出现的404

 

 

目前遇到的问题  在struts.xml文件包含了一个login.xml文件 让他代替struts.xml配置实现登陆模块,以后可以根据各自的功能建不同的配置文件。

<include file="login.xml"></include>

这句加上去  login.xml文件配置也没发现村 运行起来就出现404  还在找问题

 

初学者  大神勿喷!

 

最近在学struts2里面遇到很多错误,今天跟大家分享一下,我的开发工具是Eclipse; 1、到网上下载...

  最近在学struts2里面遇到很多错误,今天跟大家分享一下,我的开发工具是Eclipse;

1.什么是Struts2?

  • 是基于MVC模式的开源Java EE技术Web开发框架
    • 什么是框架?其实就是一组jar包,其本质是对jdk功能的扩展,包括一系列最佳的实践,作用是解决某个领域的问题。
    • 什么是MVC模式?1.定义:是一种对代码进行分层开发的方式。2.用途:对组建之间进行隔离、分层,从而有利于代码的后期维护。3.内容:
      • M:Model,代表业务逻辑层,是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
      • V:View,代表是图层,是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
      • C:Controlle,代表控制层,是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

1010cc时时彩标准版 3mvc.jpg

  • Struts2是来源于WebWork框架,是在WebWork框架的基础上再与Struts1的优点进行整合而设计出来的新MVC框架。

(五)Struts2 Hello World示例,struts2hello

通过学习Struts2 框架可以了解到,当你在Struts2 的web应用程序里点击一个超链接或提交一个HTML表单时,会由控制器收集输入并发送一个叫Actions的Java类。Action被执行后,Result会选择一个资源给予响应。这个资源通常是一个JSP,也可以是一个PDF文件,一个Excel表格,或者是一个Java小程序窗口。

假设你已经建好了你的开发环境,那么现在让我们继续构建第一个Struts2 项目:Hello World 。这个项目的目标是构建一个收集用户名并在用户名后跟随显示“Hello World”的web应用程序。我们需要为每个Struts2 项目构建以下四个组件:

序号

名称及描述

1

Action(操作)

创建一个动作类,包含完整的业务逻辑并控制用户、模型以及视图间的交互。

2

Interceptors(拦截器)

这是控制器的一部分,可依据需求创建拦截器,或使用现有的拦截器。

3

View(视图)

创建一个JSP与用户进行交互,获取输入并呈现最终信息。

4

Configuration Files(配置文件)

创建配置文件来连接动作、视图以及控制器,这些文件分别是struts.xml、web.xml以及struts.properties。

 

我们如果打算使用Eclipse IDE,那么所有必需的组件都要在动态Web项目(Dynamic Web Project)下创建。因此我们就先从创建动态Web项目开始。

通过学习Struts2 框架可以了解到,当你在Struts2 的web应用程序里点击一个超链接或提交一个HTML表单时,会由控制器收集输入并发送一个叫Actions的Java类。Action被执行后,Result会选择一个资源给予响应。这个资源通常是一个JSP,也可以是一个PDF文件,一个Excel表格,或者是一个Java小程序窗口。

1、到网上下载Struts2的包,这里不再累赘,百度有很多;

2.配置Struts2到eclipse中

1.进入Struts2的官网下载Struts2安装包:

1010cc时时彩标准版 4

2.下载到本地后解压:解压后,apps文件内就是一些实例,lib文件夹是Struts2所需的所有jar包库,docs文件夹是说明文档。

1010cc时时彩标准版 5

3.在eclipse中配置Struts2环境,主要是分三步,第一步是导入所需的jar包,第二步配置web.xml,第三步配置Struts.xml。lib文件夹下有所有的jar包,但我们不会全部都用到,刚开始我们只需要导入常用的若干jar包即可,我们可以解压Apps文件夹下的struts2-blank.war,该实例的lib文件夹中只包含几项常用的jar包。所以,我们将解压后的struts2-blank.war导入到eclipse中,文档结构如图所示:

1010cc时时彩标准版 6

下面我们就在这个文档的基础上开发一个基于Struts2框架的模拟登录的实例。

创建一个动态Web项目:

启动你的Eclipse,然后打开“File”>“New”>“Dynamic Web Project”,输入“HelloWorldStruts2”的项目名称,参照下图设置其他选项:

 

1010cc时时彩标准版 7

按照下图选择所有默认选项,最后检查 Generate Web.xml deployment descriptor 选项。这个将在Eclipse为你创建一个动态web项目。现在点击“Windows”>“Show”>“View”>“Project Explorer”,你就可以看到你的项目窗口,如下图:

1010cc时时彩标准版 8

 

现在从Struts2 的lib文件夹 C:struts-2.2.3lib 中拷贝以下文件到项目的 WEB-INFlib 文件夹里。你可以直接拖拽以下所有文件到 WEB-INFlib 文件夹。

  • commons-fileupload-x.y.z.jar
  • commons-io-x.y.z.jar
  • commons-lang-x.y.jar
  • commons-logging-x.y.z.jar
  • commons-logging-api-x.y.jar
  • freemarker-x.y.z.jar
  • javassist-x.y.z.GA
  • ognl-x.y.z.jar
  • struts2-core-x.y.z.jar
  • xwork-core.x.y.z.jar

假设你已经建好了你的开发环境,那么现在让我们继续构建第一个Struts2 项目:Hello World 。这个项目的目标是构建一个收集用户名并在用户名后跟随显示“Hello World”的web应用程序。我们需要为每个Struts2 项目构建以下四个组件:

2、新建一个项目,记得后面加上web.xml文件;

3.用Struts2实现简单的模拟登录

  • 首先,新建三个JSP页面:登录页面 login.jsp,登录成功页面true.jsp,登录失败页面 false.jsp。1.login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Struts2实现登录</title></head><body><form action="login.action" method="post" name="login">用户名:<input name="username" type="text" />密码:<input name="password" type="text" /><input type="submit" name="button" value="提交"></form></body></html>

2.true.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@ taglib prefix="s" uri="/struts-tags" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>sucess!<br>welcome,<s:property value="username"></s:property></body></html>

3.false.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>wrong!</body></html>
  • 新建业务组件Struts2的业务组建非常的简洁,简洁到仅仅由一个POJO(简单的Java对象)就可以实现Struts1中Action ActionFrom的功能,这也是Struts2解耦合特性的体现。另外如果严格的说,Struts2的Action并不是一个业务组件,他仅仅是一个控制层,真正的业务组件是通过新建一个JavaBean业务层/服务层来实现的。新建一个package包,命名为controller,然后再该包中新建一个Login类,这个类的功能就相当于Struts1中的Action或Servlet,其功能都是MVC模型中的控制层,代码如下:
package controller;public class Login { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute(){ if(username.equals&&password.endsWith){ return "toTure"; }else{ return "toFalse"; } }}

上述代码中新建了两个属性username、password,并生成其get/set方法,并实现execute()方法,该方法是规定的,必须是一个public的方法,且该方法返回的数据类型是字符串String,方法名是execute,该约定就像public static void main(String args[])一样固定。execute()方法返回的是一个指向物理文件地址的逻辑名称,在配置文件struts.xml中进行了配置,相当于Struts1中的ActionForward类。在execute()方法中对username、password的值进行判断,如果成功则返回一个字符串toTrue,否则返回toFalse。这里需要注意的是,class Login类中的username、password实际上与login.jsp页面中的表单名称相对应,代码如下:

<form action="login.action" method="post" name="login">用户名:<input name="username" type="text" />密码:<input name="password" type="text" /><input type="submit" name="button" value="提交"></form>

至此,已经创建完成了JSP页面和控制层文件,而且,已经在控制层类Login中实现了一个简易的登录验证功能,下一步就是通过配置JSP页面与Login类和其他组件关联起来。

  • 配置web.xml编辑WebContent下WEB-INF中的web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Struts Blank</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app>

添加过滤器的目的是拦截所有请求。在Struts1中使用的是中心控制类的ActionServlet来进行请求的分发,Struts2中使用的是过滤器。

为什么要配置web.xml?因为Web应用是基于请求/响应架构的应用,所以不管是哪一种MVC Web架构,都需要在web.xml中配置该框架的核心servlet或Filter,这样才可以让该框架加入到Web应用中。

  • 新建中心配置文件struts.xml

配置文件struts.xml相当于Struts1的配置文件struts-config.xml,是一个中心配置文件。这个配置文件struts.xml要放到classes目录中,所以要在项目的资源目录src中创建struts.xml文件,创建完毕后,在struts.xml中注册Action和result。

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <package name="struts2" extends="struts-default"> <action name="login" > <result name="toTure">/true.jsp</result> <result name="toFalse">/false.jsp</result> </action> </package></struts>

标记action是本例的主要部分,属性值name是访问Action的URL,就像servlet的URL映射地址一样,通过这个名称就可以访问到这个action,属性class是这个Action在项目中具体java文件的完整路径,要带上包名以及类名,是一个完整的路径。子标记result的功能是执行完Action后要到达的JSP页面的路径,该路径要使用逻辑名来标记,所以result标记的name属性就是这个true.jsp的逻辑名称,通过该逻辑名称可以找到true.jsp物理文件所以,Struts2只需要获取exectue()方法返回的字符串就可以确定下一步转向哪一个JSP页面。

还需要注意的是,form表单action属性值login.action中的login指的就是配置文件struts.xml代码:

<action name="login" >

中的name="login",两个的值是对应的。

运行一下,结果:

1010cc时时彩标准版 9

至此,我们就完成了一个简单的基于Struts2框架模拟登录的小实例,不早了,该睡觉了,等下次我们再一起继续深入探究Struts2框架。

创建Aciton类

Action类是Struts2 应用程序的关键,我们通过它实现大部分的业务逻辑。那么让我们在“Java Resources”>“src”的类目下创建一个名称为“HelloWorldAction.java”的java文件夹,使用一个命名为“cn.w3cschool.struts2”并包含以下内容的资源包。 当用户点击一个URL时,由Action类来响应用户操作。一个或多个Action类的方法被执行,并返回一个字符串结果。基于结果的值,会呈现一个特定的JSP页面。

 

package cn.w3cschool.struts2;

public class HelloWorldAction{
   private String name;

   public String execute() throws Exception {
      return "success";
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }
}

  

 

这是一个非常简单的具有“name”属性的类。对于“name”属性,我们用标准的getter和setter方法,以及一个返回“success”字符串的执行方法。 Struts2 框架将创建一个“HelloWorldAction”类的对象,并调用execute方法来响应用户的动作。你把你的业务逻辑放进execute方法里,最后会返回字符串常量。简单的描述每个URL,你需要实现一个Action类,你也可以用类名直接作为你的动作名,或者如下面内容所示使用 struts.xml 文件映射到其他name上。

序号

3、先部署struts2开发环境。

创建视图

我们需要一个JSP来呈现最终的信息,当一个预定义动作发生时这个页面将被Struts2 框架调用,并且这个映像会定义到 struts.xml 文件里。那么让我们在你的Eclipse项目的WebContent文件夹里创建以下JSP文件 HelloWorld.jsp 。在project explorer中右键点击WebContent文件夹并选择“New”>“JSP File”

 

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
   Hello World, <s:property value="name"/>
</body>
</html>

  

 

Taglib指令告知Servlet容器这个页面将使用Struts2 标签,并且这些标签会被s放在前面。s:property 标签显示Action类“name”属性的值,这个值是使用HelloWorldAction类的 getName() 方法返回的。

名称及描述

    (1)、在struts2.2以后,我们需要导入的包有以下几个:
    commons-fileupload-1.2.1.jar
    commons-io-1.3.2.jar
    commons-logging-1.0.4.jar
    commons-lang3-3.1.jar
    freemarker-2.3.16.jar
    javassist-3.7.ga.jar
    ornl-3.0.jar
    struts2-core-2.2.1.1.jar,
    xwork-core-2.2.1.1jar

创建主页

在WebContent文件夹里,我们还需要创建 index.jsp 文件,这个文件是用作初始的action URL。用户可以通过点击它命令Struts2框架去调用HelloWorldAction类的定义方法并呈现HelloWorld.jsp视图。

 

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
   pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Hello World</title>
</head>
<body>
   <h1>Hello World From Struts2</h1>
   <form action="hello">
      <label for="name">Please enter your name</label><br/>
      <input type="text" name="name"/>
      <input type="submit" value="Say Hello"/>
   </form>
</body>
</html>

  

 

上面视图文件里定义的hello action将通过struts.xml文件影射到HelloWorldAction类及其execute方法。当用户点击提交按钮时,将使得Struts2框架运行HelloWorldAction类中的execute方法,并基于该方法的返回值,选择一个适当的视图作为响应进行呈现。

1

    我通常都是把这些文件复制到WEB-INF/lib目录里。也可以在项目属性的Java Build Path中的libraries里面添加;

配置文件

我们需要一个映像把URL、HelloWorldAction类(模型)以及 HelloWorld.jsp(视图)联系在一起。映像告知Struts2 框架哪个类将响应用户的动作(URL),类里的哪个方法将要执行,以及基于方法所返回的字符串结果,会呈现怎样的视图。 那么接下来让我们创建一个名为 struts.xml 的文件。因为Struts2 要求 strust.xml 文件显示在classes的文件夹里,所以我们要在WebContent/WEB-INF/classes 的文件夹下创建 struts.xml 文件。Eclipse并没有默认创建“classes”文件夹,因此你需要自己创建。在project explorer里右键点击WEB-INF文件夹并选择“New”>“Folder”,你的 struts.xml 文件应该如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
   <package name="helloworld" extends="struts-default">

      <action name="hello" 
            class="cn.w3cschool.struts2.HelloWorldAction" 
            method="execute">
            <result name="success">/HelloWorld.jsp</result>
      </action>
   </package>
</struts>

  

 

这里说几句关于上述的配置文件。这里我们设定常数struts.devMode的值为,因为我们是在开发环境下工作,需要查看一些有用的日志消息。然后,我们定义一个名为helloworld的数据包。当你想要把你的Actions集合在一起时,创建一个数据包是非常有用的。在我们的示例中,我们命名我们的动作为“hello”,与URL /hello.action保持一致,由HelloWorldAction.class进行备份。HelloWorldAction.classexecute方法就是当URL /hello.action被调用时运行。如果execute方法返回的结果为“success”,那么我们带用户进入HelloWorld.jsp。 下一步是创建一个web.xml文件,这是一个适用于Struts2 任何请求的接入点。在部署描述符(web.xml)中,Struts2 应用程序的接入点将会定义为一个过滤器。因此我们将在web.xml里定义一个 oforg.apache.struts2.dispatcher.FilterDispatcher 类的接入点,而web.xml文件需要在WebContent的WEB-INF文件夹下创建。Eclipse已经创建了一个基础的web.xml文件,你在创建项目的时候可以使用。那么,让我们参照以下内容做修改:

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://java.sun.com/xml/ns/javaee" 
   xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   id="WebApp_ID" version="3.0">

   <display-name>Struts 2</display-name>
   <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
   <filter>
      <filter-name>struts2</filter-name>
      <filter-class>
         org.apache.struts2.dispatcher.FilterDispatcher
      </filter-class>
   </filter>

   <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
   </filter-mapping>
</web-app>

  

 

我们指定了index.jsp作为我们的欢迎文件,那么我们已经配置好了在所有的URL(列如:所有匹配/*模式的URL)上运行Struts2 过滤器。

Action(操作)

 

启用详细日志

通过在WEB-INF/classes文件夹下创建logging.properties文件,可以实现在使用Struts 2时启用完整的日志记录功能。 属性文件中需保留以下两行::

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = 
                              java.util.logging.ConsoleHandler

 

默认由logging.properties指定一个ConsoleHandler将日志记录按指定路线发送给stdout和FileHandler。程序运行日志的级别阈值可以使用SEVERE,WARNING,INFO,CONFIG,FINE,FINER,FINEST或者ALL。

这样,我们就准备好使用Struts 2运行我们的Hello World程序了。

创建一个动作类,包含完整的业务逻辑并控制用户、模型以及视图间的交互。

    (2)、在lib文件夹下面的web.xml文件添加以下内容:

执行应用程序

右键点击项目名称,接着点击“Export”>“WAR File”创建WAR文件,然后将WAR部署到Tomcat的webapps目录中。最后,启动Tomcat服务器并尝试访问URL ,将会呈现如下图所示的结果:

1010cc时时彩标准版 10

输入一个“Struts2”值并提交页面,你可以看到以下页面

1010cc时时彩标准版 11

注意,你可以在struts.xml文件中定义一个索引作为操作,这样你可以调用索引页面  。查看下面是怎样定义索引作为操作:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
   <package name="helloworld" extends="struts-default">

      <action name="index">
            <result >/index.jsp</result>
      </action>

      <action name="hello" 
            class="cn.w3cschool.struts2.HelloWorldAction" 
            method="execute">
            <result name="success">/HelloWorld.jsp</result>
      </action>

   </package>
</struts>

  

 

Hello World示例,struts2hello 通过学习Struts2 框架可以了解到,当你在Struts2 的web应用程序里点击一个超链接或提交一个HTML表单时,...

2

    

Interceptors(拦截器)

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping> 

这是控制器的一部分,可依据需求创建拦截器,或使用现有的拦截器。

 

3

      现在web.xml文件是这样的

View(视图)

本文由1010cc时时彩标准版发布于三分时时彩1010CC,转载请注明出处:【1010cc时时彩标准版】java里Struts2学习登录练习详

关键词:

上一篇:1010cc时时彩标准版:基于java的正则表达式,jav

下一篇:没有了