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. java执行多条SQL语句

    一次执行多条SQL的技术要点如下: DatabaseMetaData接口是描述有关数据库的整体综合信息,由于DatabaseMetaData是接口,所以没有构造方法,故不能使用new来创建Databa ...

  2. FusionCharts 3D帕累托图

    1.设计3D帕累托图的页面 Pareto3D.html: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&q ...

  3. Nginx负载均衡和反向代理的配置和优化

    负载均衡 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位, 反向代理 是指以代理服务器来接受internet上的请求,然后将请求转给内部的服务器 常见的负载均衡 1. ...

  4. Caused by: java.net.SocketException: Software caused connection abort: socket write error

    1.错误描述 [ERROR:]2015-05-06 10:54:18,967 [异常拦截] ClientAbortException: java.net.SocketException: Softwa ...

  5. app_offline.htm的作用

    如果你要COPY站点,进行站点维护,部署,和进行大量修改,有可能要停掉你的WEB应用程序了,而以一个友好的方式提示给用户,比如什么"本网站正在更新"等等的信息可以建立一个叫app_ ...

  6. Jquery ajaxfileupload.js结合.ashx文件实现无刷新上传

    先上几张图更直观展示一下要实现的功能,本功能主要通过Jquery ajaxfileupload.js插件结合ajaxUpFile.ashx一般应用程序处理文件实现Ajax无刷新上传功能,结合NPOI2 ...

  7. PageBase 公共基础类

    PageBase 公共基础类 using System; using System.Collections.Generic; using System.Linq; using System.Web; ...

  8. 【转】Nginx的启动、停止与重启

    Nginx的启动.停止与重启 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sb ...

  9. jquery 实现拖动文件上传加进度条

    通过对文件的拖动实现文件的上传,主要用到的是HTML5的ondrop事件,上传内容通道FormData传输: //进度条 <div class="parent-dlg" &g ...

  10. 洛谷P3459 [POI2007]MEG-Megalopolis(树链剖分,Splay)

    洛谷题目传送门 正解是树状数组维护dfn序上的前缀和,这样的思路真是又玄学又令我惊叹( 我太弱啦,根本想不到)Orz各路Dalao 今天考了这道题,数据范围还比洛谷的小,只有\(10^5\)(害我复制 ...