Day 14 Struts
2017-02-08 09:08
204 查看
一.概述
1.Struts2 是一个用来开发 MVC 应用程序的框架. 它提供了 Web 应用程序开发过程中的一些常见问题的解决方案:
对来自用户的输入数据进行合法性验证
统一的布局
可扩展性
国际化和本地化
支持 Ajax
表单的重复提交
文件的上传下载
…..
二.搭建 Struts2 的环境
1.加入 jar 包: 复制 struts\apps\struts2-blank\WEB-INF\lib 下的所有 jar 包到当前 web 应用的 lib 目录下.
2.在 web.xml 文件中配置 struts2: 复制 struts\apps\struts2-blank1\WEB-INF\web.xml 文件中的过滤器的配置到当前 web 应用的 web.xml 文件中
3.在当前 web 应用的 classpath 下添加 struts2 的配置文件 struts.xml: 复制 struts1\apps\struts2-blank\WEB-INF\classes 下的 struts.xml 文件到当前 web 应用的 src 目录下.
4.添加 DTD 约束:首选参数->XML->XML Catalog->add(将key type改为URI)
三.helloWord
1.index.jsp
2.struts.xml
![](https://img-blog.csdn.net/20170208162248004)
![](https://img-blog.csdn.net/20170208162339801)
3.Hello.java
4.a.jsp
5.b.jsp
6.web.xml
四.struts.xml
![](https://img-blog.csdn.net/20170208163102621)
![](https://img-blog.csdn.net/20170208163107606)
![](https://img-blog.csdn.net/20170208163111387)
五.action概述
1.action和Action类的区别
1)action:代表一个Struts2的请求
2)Action类:能够处理Struts2请求的类(例如上面例子中的Hello.java)
>特点:
属性的名字必须遵守与 JavaBeans 属性名相同的命名规则. 属性的类型可以是任意类型. 从字符串到非字符串(基本数据库类型)之间的数据转换可以自动发生必须有一个不带参的构造器:通过反射创建实例
至少有一个供 struts 在执行这个 action 时调用的方法同一个 Action 类可以包含多个 action 方法. Struts2 会为每一个 HTTP 请求创建一个新的 Action 实例::即Action不是单例的,是线程安全的
1.Struts2 是一个用来开发 MVC 应用程序的框架. 它提供了 Web 应用程序开发过程中的一些常见问题的解决方案:
对来自用户的输入数据进行合法性验证
统一的布局
可扩展性
国际化和本地化
支持 Ajax
表单的重复提交
文件的上传下载
…..
二.搭建 Struts2 的环境
1.加入 jar 包: 复制 struts\apps\struts2-blank\WEB-INF\lib 下的所有 jar 包到当前 web 应用的 lib 目录下.
2.在 web.xml 文件中配置 struts2: 复制 struts\apps\struts2-blank1\WEB-INF\web.xml 文件中的过滤器的配置到当前 web 应用的 web.xml 文件中
3.在当前 web 应用的 classpath 下添加 struts2 的配置文件 struts.xml: 复制 struts1\apps\struts2-blank\WEB-INF\classes 下的 struts.xml 文件到当前 web 应用的 src 目录下.
4.添加 DTD 约束:首选参数->XML->XML Catalog->add(将key type改为URI)
三.helloWord
1.index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a href="hello">Hello world</a> </body> </html>
2.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> <package name="default" namespace="/" extends="struts-default"> <action name="hello" class="com.hello.abc.Hello" method="toadd"> <result name="toadd">/WEB-INF/pages/a.jsp</result> </action> <action name="hi" class="com.hello.abc.Hello" method="save"> <result name="save">/WEB-INF/pages/b.jsp</result> </action> </package> </struts>
3.Hello.java
package com.hello.abc; public class Hello { private String stuname; private int stuage; private String stusex; public String getStuname() { return stuname; } public void setStuname(String stuname) { this.stuname = stuname; } public int getStuage() { return stuage; } public void setStuage(int stuage) { this.stuage = stuage; } public String getStusex() { return stusex; } public void setStusex(String stusex) { this.stusex = stusex; } @Override public String toString() { return "Hello [stuname=" + stuname + ", stuage=" + stuage + ", stusex=" + stusex + "]"; } public String toadd(){ System.out.println("liu s b"); return "toadd"; } public String save(){ System.out.println("Hello"+this); return "save"; } }
4.a.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <bod 4000 y> <form action="hi" method="post"> stuname: <input type="text" name="stuname" ><br> stuage: <input type="text" name="stuage" ><br> stusex: <input type="text" name="stusex" ><br> <input type="submit"> </form> </body> </html>
5.b.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h4>学生信息</h4> ${stuname}<br> ${stuage}<br> ${stusex}<br> </body> </html>
6.web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Struts Blank</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> </web-app>
四.struts.xml
五.action概述
1.action和Action类的区别
1)action:代表一个Struts2的请求
2)Action类:能够处理Struts2请求的类(例如上面例子中的Hello.java)
>特点:
属性的名字必须遵守与 JavaBeans 属性名相同的命名规则. 属性的类型可以是任意类型. 从字符串到非字符串(基本数据库类型)之间的数据转换可以自动发生必须有一个不带参的构造器:通过反射创建实例
至少有一个供 struts 在执行这个 action 时调用的方法同一个 Action 类可以包含多个 action 方法. Struts2 会为每一个 HTTP 请求创建一个新的 Action 实例::即Action不是单例的,是线程安全的
相关文章推荐
- Day 14-02 Struts通过ActionContext获取WEB资源
- day_14-acm 对拍
- Struts(14)本地化/国际化(i18n)
- the Secret DAILY TEACHINGS-Day 14
- Practice Every Day_14(多字段搜索和多索引搜索)
- 框架之Struts2篇----day3.3(配置文件)团队协作(可以理解成package配置)
- Day 9:(14) 触发器实训_参考答案
- Day 14 list(frequency 5 & 4)
- Ending Learning for Day 14
- 安卓学习记录-java-day14
- 读书笔记《30天自制操作系统》day14
- a program a day 14
- day-14-(网络编程【Socket网络编程】)
- day 14 Python Css padding
- Unity Learning for Day 14
- 2012-12-12 - 12-14 11gR2 "2 Day + Performance Tuning Guide" page 52 - 168
- Java Web整合开发(14) -- Struts 1.x 概述
- Android-Day-14
- 2016.8.14 夏令营 Day14
- 2017暑期集训Day 14 区间dp+二分图匹配