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. shell 批量创建带随机字符串的html文件

    思路一: echo $RANDOM|md5sum |tr "[0-9]" "[a-j]"|cut -c 2-11 RANDOM:  linux内置的随机数变量 ...

  2. iBrand 产品工具包:Laravel Database Logger

    iBrand 社交新零售电商产品从2016年9月启动至今,已经趋于稳定,而且已经初步得到市场的检验,特别能抗住电商中秒杀时高并发的交易场景. 接下来我们团队会逐步开源一些正在使用的工具和解决方案,并且 ...

  3. Python基础学习参考(四):条件与循环

    在实际的开发中,想要实现某些功能或者需求,里面必然涉及到一些逻辑,复杂的也好简单也好,那么,通过python语法如何实现呢?这就涉及到了条件与循环.很显然绝大多数的语言都有条件和循环的语法,pytho ...

  4. mysql常用基础操作语法(五)--对数据的简单条件查询【命令行模式】

    1.单条件查询:select 字段名 from tablename where 条件: 2.简单多条件查询,使用&&或者between and等: 3.is null和is not n ...

  5. freemarker中的left_pad和right_pad

    freemarker中的left_pad和right_pad 1.简易说明 (1)left_pad 距左边 (2)right_pad 距右边 (3)当仅仅只有一个参数时,插入的是空白:当有两个参数时, ...

  6. 芝麻HTTP:

    只要你的Scrapy Field字段名字和 数据库字段的名字 一样.那么恭喜你你就可以拷贝这段SQL拼接脚本.进行MySQL入库处理. 具体拼接代码如下: def process_item(self, ...

  7. JavaScript设计模式(7)-设配器模式

    适配器模式 1. 作用: 协调两个不同的接口 2. 适用场景 适配器适用于客户期待的接口与现有 API 提供的接口不兼容这种场景.他只能用来协调语法上的差异问题.适配器所适配的两个方法执行的应该是类似 ...

  8. How I explained OOD to my wife(转)

    How I explained OOD to my wife Learning Object Oriented Design principles through interesting conver ...

  9. SpringBoot特性

    一.SpringBoot解决的问题 1.使编码变得简单 2.使配置变得简单 3.使部署变得简单 4.使监控变得简单 二.springboot主要特性 1.遵循习惯优于配置的原则.使用springboo ...

  10. ProgressBar、ProgessDialog用法解析

    一.ProgressBar 1. 常用类型 1.1 不确定式圆形进度条 style="@android:style/Widget.Holo.Light.ProgressBar" s ...