Struts2.0简单配置教程:

在Eclipse中配置Struts2

步骤一:首先打开java ee并建立一个动态网站项目,我建立的项目名为TestDemo,如下图:

建立之后可在左侧发现工程,展开如下:

步骤二:配置struts2

想要运用struts2的框架需要借助一些jar包,对于新手来说,一下简单的jar包是必须的且能满足大多数的需求(下载地址自行百度):

注意:web.xml文件(默认是自动生成的,如果没有请自行在lib目录下新建,是整个工程的关键)

至此,我们的基本环节已经初始化完毕,接下来是向工程中添加自己真正的东西。

步骤三:配置web.xml文件(即整个工程的拦截器,至于拦截器的具体作用查看别处)。

一般的配置如下:

  1. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  3. <display-name>struts2</display-name>
  4. <welcome-file-list>
  5. <welcome-file>login.jsp</welcome-file>  <!--设置起始页-->
  6. </welcome-file-list>
  7. <!--设置相关的过滤器-->
  8. <filter>
  9. <filter-name>struts-prepare</filter-name>
  10. <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareFilter</filter-class>
  11. </filter>
  12. <filter>
  13. <filter-name>struts-execute</filter-name>
  14. <filter-class>org.apache.struts2.dispatcher.filter.StrutsExecuteFilter</filter-class>
  15. </filter>
  16. <filter-mapping>
  17. <filter-name>struts-prepare</filter-name>
  18. <url-pattern>/*</url-pattern>
  19. </filter-mapping>
  20. <filter-mapping>
  21. <filter-name>struts-execute</filter-name>
  22. <url-pattern>/*</url-pattern>
  23. </filter-mapping>
  24. </web-app>

步骤四:编写自己相关的程序(至于前端后端的顺序自己定):

编写login.jsp与welcome.jsp页面:在WebContent目录下新建.jsp(web的起始页)文件。

login.jsp:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib prefix="s" uri="/struts-tags" %>
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=GBK">
  7. <title>test</title>
  8. </head>
  9. <body>
  10. <s:form action="login">
  11. <s:textfield name="username" key="user"/>
  12. <s:textfield name="password" key="pass"/>
  13. <s:submit key="login"/>
  14. </s:form>
  15. </body>
  16. </html>

welcome.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib prefix="s" uri="/struts-tags" %>
  4. <html>
  5. <head>
  6. <title><s:text name="succPage"/></title>
  7. <meta http-equiv="Content-Type" content="text/html; charset=GBK">
  8. </head>
  9. <body>
  10. <h1>恭喜你,你成功了</h1>
  11. </body>
  12. </html>

编写action处理函数:Login_action

处理类函数写在java Resources目录下的src文件夹下。我们通常以包的方式对不同工能的函数进行分类包装

  1. package action;
  2. import com.opensymphony.xwork2.ActionContext;
  3. public class Action_Login {
  4. private String username;
  5. private String password;
  6. public String getUsername() {
  7. return username;
  8. }
  9. public void setUsername(String username) {
  10. this.username = username;
  11. }
  12. public String getPassword() {
  13. return password;
  14. }
  15. public void setPassword(String password) {
  16. this.password = password;
  17. }
  18. public String execute() throws Exception {
  19. return "SUCCESS";
  20. }
  21. }

注意:set函数与get函数的设置,在处理类函数中应该有与前台相对应的变量名,struts框架会直接通过set,get函数来进行参数的传递。

接下来是我认为最关键的一步:

前端与后台的交互,Struts.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="test" extends="struts-default">
  7. <action name="login" class="action.Action_Login" method="execute">
  8. <result name="SUCCESS">/welcome.jsp</result>
  9. </action>
  10. </package>
  11. </struts>

说明:action name是处理请求的名字,class对应的是处理函数所在的包-类,method对应的是处理的方法。

步骤五:启动本地服务器,访问web程序,访问的结果如下所示:

后言:

上面所述纯属个人理解,如有错误之处请谅解,欢迎指出!

struts2.0简单教程的更多相关文章

  1. 1.0、Struts2的简单搭建方法

    一.Struts2:是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet:用于jsp页面与Java代码之间的交互. 1.核心:Filter拦截器,对所有的请求进行拦截. 2.工作 ...

  2. JXLS 2.4.0系列教程(一)——最简单的模板导出

    Java中实现excel根据模板导出数据的方法有很多,一般简单的可以通过操作POI进行.还可以使用一些工具很轻松的实现模板导出.这些工具现在还在维护,而且做得比较好的国内的有easyPOI,国外的就是 ...

  3. struts2官方 中文教程 系列七:消息资源文件

    介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...

  4. Git和Github简单教程

    原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...

  5. 入门struts2.0

    框架是什么? 1.应用程序的半成品. 2.可重用行公共的结构. 3.按一定规则组织的一组组件. model2 其实并不是一种全新的概念,很对人指出model2其实正好是经典的"模型(mode ...

  6. FusionCharts简单教程(三)-----如何自定义图表上的工具提示

    最近有蛮多人总是问我这个FusionCharts制表的问题,帮助他们解决之后,在昨晚发现以前整理的笔记中有这个简单教程,而且以前也发表了几篇这个博文,所以就将其全部上传上来供别人参考.如有不正确之处望 ...

  7. Windows环境下Android Studio v1.0安装教程

    Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...

  8. Swift3.0语言教程替换子字符串

    Swift3.0语言教程替换子字符串 Swift3.0语言教程替换子字符串,替换子字符串其实就是将字符串中的子字符串删除,然后再进行添加.为了让这一繁琐的过程变的简单,NSString提供了替换子字符 ...

  9. Android程序开发0基础教程(一)

    程序猿学英语就上视觉英语网 Android程序开发0基础教程(一)   平台简单介绍   令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操 ...

随机推荐

  1. 嵌入式Linux引导过程之1.6——Xloader的Xloader_Entry

    我们已经看完了XLOADER_ENTRY里调用的前两个标号的代码,分别是sys_init和ddr_init.对于一个嵌入式系统来说,这两 个部分的代码是在一开始就执行的,至少是在从bootrom里面的 ...

  2. vxworks下文件读写示例

    dev 1.create file on floopy disk and write contents: -> pdev=fdDevCreate(0,0,0,0)     /* A:,1.44M ...

  3. php simpleXML操作xml的用法

    XML简介 XML是一种流行的半结构化文件格式,以一种类似数据库的格式存储数据.在实际应用中,一些简单的.安全性较低的数据往往使用 XML文件的格式进行存储.这样做的好处一方面可以通过减少与数据库的交 ...

  4. zTree实现地市县三级级联数据库映射

    zTree实现地市县三级级联数据库映射 Province.hbm.xml: <?xml version="1.0" encoding="UTF-8"?&g ...

  5. Unhandled event loop exception No more handles

    1.错误描述 2.错误原因 3.解决办法

  6. 移动端开发底部元素margin-bottom失效解决办法

    一.情景 记得之前开发一个微信端页面时,发现页面底部元素margin-bottom在ios下失效,在安卓内正常...... 1.safari浏览器内页面底部元素设置margin-bottom失效: 2 ...

  7. C#接口--C#基础

    1.接口的声明 接口:描述属于任何类或者结构的一组相关功能,是一种规范.功能 组成:属性.方法.事件.索引或者这四种成员的任意组合构成 基本知识点: 1)接口默认的权限修饰符是:public,不允许加 ...

  8. CF908D Arbitrary Arrangement

    题目大意: 给定三个数\(k\) , \(p_a\) , \(p_b\) 每次有\(\frac{p_a}{p_a+p_b}\)的概率往后面添加一个'a' 每次有\(\frac{p_b}{p_a+p_b ...

  9. [BZOJ3275] Number (网络流)

    Description 有N个正整数,需要从中选出一些数,使这些数的和最大. 若两个数a,b同时满足以下条件,则a,b不能同时被选 1:存在正整数C,使a*a+b*b=c*c 2:gcd(a,b)=1 ...

  10. checkBox半选中状态

    checkbox 可以半选中,这个特性,很多浏览器都支持 // 用 input.indeterminate 这个属性来获取或者设置半选中状态,必须要用 js 添加属性,才有效果. input.inde ...