[JavaWeb基础] 007.Struts2的配置和简单使用
1.框架简介
采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架,用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。。目前为止,有Struts1和Struts2,用户可以根据自己的需求进行选择。
2.所需的lib包
可以去网上下载所有Struts需要的包,我这边是基于struts-2.3.24-all的。有以下的包:struts2-core-2.3.24,xwork-core-2.3.24,ognl-3.0.6,freemarker-2.3.22,commons-logging-1.1.3,commons-fileupload-1.3.1,commons-io-2.2
把这些包放置到WebRoot/WEB-INF/lib下面.
3.首先创建Action
package com.babybus.sdteam.action; import java.util.List; import com.babybus.sdteam.bo.ManageServlet;
import com.babybus.sdteam.vo.Student;
import com.opensymphony.xwork2.Action; public class LoginAction implements Action
{
// 用户名
private String username;
// 密码
private String password;
// 存放列表集合
private List<Student> resultList; 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 List<Student> getResultList() {
return resultList;
} public void setResultList(List<Student> resultList) {
this.resultList = resultList;
} //执行
@Override
public String execute() throws Exception { String result = "loginSuccess";
System.out.println("登录成功,姓名:" + username + " 密码:" + password); ManageServlet manageservlet = new ManageServlet();
resultList = manageservlet.getStudentByCondition(null); return result;
}
}
4.配置struts.xml,必须放置在src下面,并保证文件名称正确
<?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="MyWebProject1" namespace="/" extends="struts-default">
<action name="login" class="com.babybus.sdteam.action.LoginAction">
<result name="loginSuccess">/UserList.jsp</result>
</action>
</package>
</struts>
5.配置Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<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> <servlet>
<servlet-name>Mangage</servlet-name>
<servlet-class>com.babybus.sdteam.bo.ManageServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>Mangage</servlet-name>
<url-pattern>/Mangage</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
6.如何遍历属性和列表
<body>
<h1>欢迎${username}登陆成功!</h1>
<table border="1" width="100%" >
<tr><th>uid</th><th>学生姓名</th><th>年龄</th><th>班级</th><th>操作</th></tr>
<s:iterator value= "resultList" id="student">
<tr>
<td><s:property value="#student.id"/></td>
<td><s:property value="#student.studentname"/></td>
<td><s:property value="#student.age"/></td>
<td><s:property value="#student.classname"/></td>
<td>
<a href="AddUser.jsp?id=${student.id}">修改</a>|
<a href="Mangage?method=del&userid=${student.id}" onclick="return confirm('确定要删除么?')" }>删除</a>
</td>
</tr>
</s:iterator>
</table>
<a href="AddUser.jsp">增加<a/>
</body>
通过以上的步骤我们就简单学会了Struts2的配置了,更深入的研究全靠自学了。
结语
- 受益,掌握了Struts2的初级应用

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4622269.html
[JavaWeb基础] 007.Struts2的配置和简单使用的更多相关文章
- [JavaWeb基础] 016.Struts2 国际化配置
如果一个软件想要让其受众是全球或者是几个国家的人,那么这个软件就需要支持多种语言,那么我们就需要软件的国际化去对一些文字信息进行国际化处理.web也一样,当外国人打开我们的网站,要是看到满屏幕的中文, ...
- [JavaWeb基础] 006.Struts1的配置和简单使用
1.框架简介 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架,用于快速开发Java Web应用.Struts实现的重点在C(Controller), ...
- [JavaWeb基础] 005.Hibernate的配置和简单使用
1.Hibernate简介 Hibernate是一个基于Java的开源的持久化中间件,对JDBC做了轻量的封装.采用ORM映射机制,负责实现Java对象和关系数据库之间的映射,把sql语句传给数据库, ...
- [JavaWeb基础] 011.Struts2 配置拦截器
在网页开发中有一个很重要的东西就是拦截器,就是在请求接收到的时候先到拦截器中进行一些逻辑处理,例如会话是否过期的验证等.在Struts2中我们可以编写一个拦截器的类,然后在struts.xml中简单配 ...
- [JavaWeb基础] 008.Spring初步配置
框架简介: Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Develop ...
- [JavaWeb基础] 017.Struts2 和 ajax交互简介
在网页开发中,我们为了只对网页的某块内容进行实时更新,而不对其他不需要更新的内容进行刷新,从而提高响应速度和节省流量,我们采用了页面的异步刷新技术Ajax,那么我们的Struts2框架在这一方面是如何 ...
- [JavaWeb基础] 015.Struts2 表单验证框架
在web开发的过程中,我们经常要用到一些填写表单的操作,我们一般都要在提交表单信息的时候对表单的内容进行验证,struts2给我们提供了简单的实现接口,让我们可以很容易的对表单进行验证.下面讲解下最传 ...
- [JavaWeb基础] 010.Struts2 下载文件
在web开发中,我们经常会有文件的上传下载功能,上一篇的介绍中我们讲解了上传功能,那么这次我们来讲讲下载功能. 1.首先我们需要有一个用于处理下载的测试页面,也就是jsp. <body> ...
- [JavaWeb基础] 009.Struts2 上传文件
在web开发中,我们经常遇到要把文件上传下载的功能,这篇文章旨在指导大家完成文件上传功能 1.首先我们需要一个上传文件的页面. <!--在进行文件上传时,表单提交方式一定要是post的方式, 因 ...
随机推荐
- 「newbee-mall新蜂商城开源啦」 前后端分离的 Vue 版本即将开源
新蜂商城 Vue 版本 2019 年 10 月份我在 GitHub 开源仓库中上传了新蜂商城项目的所有源码,至今已经有小半年的时间了,感兴趣的可以去了解一下这个 Spring Boot 技术栈开发的商 ...
- SpringBoot集成Quartz实现定时任务
1 需求 在我的前后端分离的实验室管理项目中,有一个功能是学生状态统计.我的设计是按天统计每种状态的比例.为了便于计算,在每天0点,系统需要将学生的状态重置,并插入一条数据作为一天的开始状态.另外,考 ...
- IoTClient开发6 - S7-200SmarTcp协议客户端实现
环境和工具 服务端电脑IP:192.168.1.130 客户端电脑IP:192.168.1.120 1.在服务端电脑运行IoTClientTool 2.运行Wireshark 3.在客户端电脑运行Io ...
- D. Mysterious Present DAG dp
https://codeforces.com/problemset/problem/4/D 这个题目比较简单,就是一个DAG模型,这个可以看看紫书学习一下, 我这次是用dp来写的,用记忆化搜索也许更好 ...
- RabbitMQ的轮询模式和公平分发
一.常用的消息模式 我们在工作的使用中,经常会遇到多个消费者监听同一个队列的情况,模型如下图所示: 当有多个消费者时,我们的消息会被哪个消费者消费呢,我们又该如何均衡消费者消费信息的多少呢: 主要有两 ...
- LeetCode--LinkedList--141.Linked List Cycle(Easy)
141. Linked List Cycle(Easy)2019.7.10 题目地址https://leetcode.com/problems/linked-list-cycle/ Given a l ...
- 自定义IDOC
目录 1需求场景 4 2配置发送端IDOC 4 2.1定义段(WE31) 4 2.2定义基本类型(WE30) 4 2.3定义消息类型(WE81) 5 2.4定义传输结构 ...
- Python:日薪工资计算
劳动者离职,当天要结清工资,实际操作是当天算清,三日内结清.有的公司省人力和吃利息,统一计算,统一下月月底发放. 有时要验算下离职工资,用Python操作一番,输入计时天数.请假小时.加班小时.基本工 ...
- java 实现仿照微信抢红包算法,实测结果基本和微信吻合,附demo
实现拼手气红包算法,有以下几个需要注意的地方: 抢红包的期望收益应与先后顺序无关 保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如 ...
- python 基础知识6-文件操作
1.只读文件 #以文本打开文件'r' f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r',encoding='ut ...