关键词:
一.如何获取Struts2,以及Struts2资源包的目录结构的了解
Struts的官方地址为http://struts.apache.org 在他的主页当中,我们可以通过左侧的Apache Struts菜单下的Release链接,可以查看Struts各个阶段的词资源,也可以通过Archive Site链接访问来获取版本。
那我们这里以struts-2.3.15.1-all为例。
1.App目录下包含了官方提供的Struts2应用示例,为开发者提供了很好的参照。
2.doc目录下是官方提供的Struts2文档。
3.lib目录下是Struts的发行包及其依赖包。
4.src目录是Struts2项目该版本对应的源码。
其余部分是Struts2及其依赖包的使用许可协议和声明。
二.入门案例
1.引入jar包:
新建一个Java Web项目,将Struts2框架所需的jar包添加到项目的lib文件夹上,Struts2项目所依赖的基础jar包如下:
2.创建一个登录案例的界面
01.login.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <!-- 导入Struts2 核心标签库--> <%@taglib uri="/struts-tags" prefix="s"%> <head> <base href="<%=basePath%>"> <title>My JSP ‘login.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <form action="Login3.action" method="post"> 用户名:<input type="text" name="user.name" /> 密码:<input type="text" name="user.pwd" /> <input type="submit" value="登录"> </form> </body> </html>
02.登录失败页面:final.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP ‘final.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <h1>登录失败</h1> </body> </html>
03.登录成功页面scuess.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <%@ taglib uri="/struts-tags" prefix="s"%> <head> <base href="<%=basePath%>"> <title>My JSP ‘scuess.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <h1>登录成功! 欢迎你,<s:property value="user.name"/> </h1> </body> </html>
3.创建cn.entity.User类:
package cn.entity; //用户类 public class User { private String name; private String pwd; public User() { super(); // TODO Auto-generated constructor stub } public User(String name, String pwd) { super(); this.name = name; this.pwd = pwd; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
4.创建cn.action.LoginAction类:
package cn.acction; import cn.entity.User; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; public class LojinAction implements Action { // 注意User对应必须要有get和set封装不然Strut2框架不会帮你自动装备User对象 private User user; @Override public String execute() throws Exception { // 如果密码为123,用户名为123表示登录成功 if (user.getName().equals("123") && user.getPwd().equals("123")) { // 表示登录成功。 return SUCCESS; } else { // 表示登录失败 return ERROR; } } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
5.配置web.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 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"> <display-name></display-name> <!-- 添加struct2的核心过滤器 --> <filter> <filter-name>struct</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struct</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app>
6.在Src目录下创建struts.xml文件:
<?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> <!-- 配置文件中只要添加以下配置,那么以后修改配置文件不用重启tomcat --> <constant name="struts.devMode" value="true"/> <package name="default" namespace="/" extends="struts-default"> <!-- 登录案例 --> <action name="Login" class="cn.acction.LojinAction"> <result name="scuess"> Login/scuess.jsp </result> <result name="error"> Login/final.jsp </result> </action> </package> </struts>
执行流程图:
注意点:
1.一定要在web.xml中配置struts2核心过滤器。
2.from表单的action提交的名字要和struts.xml中的action节点的名字保存一致。
3.struts.xml的名字不要写错。
4.表单的input的name属性值不要写错,要写成执行Action类中成员变量的属性名。
struts2第一个入门案例
最近刚刚学习了Struts2的一些基本内容下面我来利用Struts2实现一个小例子想要写Struts2的代码Jia包必不可少如下:8个Jia包必不可少然后就是配置了,大家都知道框架就是配置红色标记的用意是只要是修改的jsp页面的东西都不用重... 查看详情
struts2第一个入门小案例
Struts2框架预先实现了一些功能 1:请求数据自动封装 2:文件上传的功能 3:对国际化功能的简化 4:数据校验的功能第一:首先需要说明的是Struts就是基于MVC模式的框架!(struts... 查看详情
struts2——第一个案例(代码片段)
步骤如下编程工具等百度云分享1、创建一个web项目2、引入struts2的基本jar包struts2的基本jar包百度云链接:https://pan.baidu.com/s/1LBnPJhFjqHuU7XW6m9xIqA密码:d6wg3、新建一个web.xml1<?xmlversion="1.0"encoding="UTF-8"?>2<web-appversion="3.0"3x 查看详情
struts2入门案例
Struts2是常用的web层框架,jar包下载路径开发包目录结构介绍在web工程中引入struts2的开发包如何在web。xml中配置struts2的核心过滤器<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter 查看详情
struts2入门案例
1:导入对应的核心jar包 2:配置Web<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=" 查看详情
spring_第一个spring入门案例
今天我们来写我们的第一个spring 第一步建立一个javaproject第二步添加我们的五个jar文件第三步在项目中建立一个com.zk.spring包第四步建立我们的userservice接口和userserviceImpl.java文件 在我们的UserService和UserServiceImpl添加第五步... 查看详情
关于ideamaven工程创建struts2入门配置及案例
1.在maven工程下添加需要导入的jar包节点<dependencies><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.3.24</version>< 查看详情
第一个struts案例及分析
...为框架已经实现了一些功能,这样就可以提高开发效率!Struts2=struts1 + xwork (struts是基于MVC模式的框架)struts2预先实现的功能: 1、请求数据自动封装 2、文件的上传 3、国际化功能的简化 4、数据效验 ... 查看详情
springmvc的第一个入门案例
用户提交一个请求,服务器端处理器在接收到这个请求后,给出一条欢迎信息,在页面中显示。第一步:导入jar包在原有Springjar包基础上添加2个jar包spring-webmvc-4.2.0.RELEASE.jar 作用:对Springmvc的实现spring-context-support-4.2.0.RELEASE.... 查看详情
struts2入门
1-1Struts2入门概述课程目标01Struts2的概念02MVC03Struts的发展历史04第一个Struts2例子05Struts2的工作原理及文件结构06深入讲解Struts2的用法一、Struts2的概念Struts2是Java程序员所必须学习的一门课程。Struts的英文单词是什么意思? &nbs... 查看详情
struts简单入门
本章主要讲解Struts2简单入门,第一个程序的建立全部代码下载:Github链接:链接https://github.com/wpeace1212/javaBlog/tree/master/struts2Demo写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github;多谢... 查看详情
freemarker页面静态化技术使用入门案例
...。这样一来就减少数据库交互,从而提高查询性能。 Struts2默认使用freemarker实现自定义标签模板,项目导入struts2就已经导入了freemarkerjar包。 使用Freemarker步骤:&n 查看详情
新手小白学java_idea的第一个入门案例(代码片段)
...ipse,那你一定知道eclipse有自己的工作空间,这是一个文件夹,用来存放我们自己写的代码我们就可以在这个工作空间里创建多个JavaProject编写代码了。但是~IDEA的结构与elips 查看详情
intellijideamybatis入门案例(代码片段)
最近打算学习ssm框架 Mybatis作为入门的第一个持久层框架,学习起来实在费劲。故写此文章作为入门案例。先打开IDEA建立一个Maven项目,目录结构如下:源代码已经上传至GitHub https://github.com/Wo-com/mybatis_demo,需要的点击下... 查看详情
springboot入门及第一个案例(代码片段)
...3)SpringBoot使部署变简单4)SpringBoot使监控变简单二:创建第一个SpringBoot工程&nb 查看详情
1mybatis入门案例(代码片段)
...置文件 IUserDao.xml2 环境搭建的注意事项第一个:创建IUserDao.xml和IUserDao.java时名称是为了和我们之前的知识保持一致。 在Mybat 查看详情
❤️harmonyos(鸿蒙)❤️——单击事件(超细入门案例)(代码片段)
...文档1.4、实现步骤二、案例实现2.1、创建项目2.2、定义第一个页面(XML文件)2.3、定义按钮组件2.4、定义第二个页面(Java代码)2.5、定义的按钮绑定单击事件2.6、实现ClickedListener接口并重写onClick()方法三、案例测试3.1、登陆远程模拟... 查看详情
2个案例带你迅速入门pythonflask框架
Flask是python中非常流行的一个web框架,容易学习。这篇文章主要通过2个实际案例讲解Flask如何使用。第一个例子是实现一个调用公交车到站信息的接口服务;第二个例子是通过接口展示所有的测试报告。Flask安装安装pythonpipinstallf... 查看详情