struts2框架入门
1.struts2的工作原理和文件结构
2.struts2核心文件
struts核心文件包括:
1)web.xml
2)struts.xml
3)struts.properties
3.Action搜索顺序
4.动态方法调用
其实意思就是,当多个不同请求到来的时候,势必会要求多个Action。一个Action中添加多个method,处理不同的请求,返回不同的视图资源!
动态方法调用有3种形式
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
1)在配置文件中添加method属性
2)感叹号
3)通配符方式 *
5.指定多个配置文件
<include file="......"></include>
如果Action太多,写在一个xml文件中就会很不方便,可以分散配置,用include聚合!
6.默认action,当struts中没有配置请求的Action,可以设置默认的action,指定跳转视图。
<default-action-ref name="index"></default-action-ref>
<action name="index"><result>/error.jsp</result>
</action>
7.struts2后缀名
jsp,do,html,....可以在三个核心文件中配置,任何一个都行,可用于视图伪装
在web.xml中配置后缀为do的实现
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><display-name>Struts Blank</display-name><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class><init-param><param-name>struts.action.extension</param-name><param-value>do</param-value></init-param></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
</web-app>
8.接受参数
1)action属性接受
2)Domain Model 接收
3)Model Driven接收(推荐)
实现ModelDriven<T>接口
用第三种方式写一个前端实例,接受用户名密码,控制页面跳转到成功登陆。
LoginAction继承ModelDriven<T>接口,实现getModel方法。
package com.southstar.demo;import com.opensymphony.xwork2.ModelDriven;public class LoginAction implements ModelDriven<User>{@Overridepublic User getModel() {return user;}private User user=new User();public String login(){System.out.println(user.getUsername());return "success";}public String add(){return "success";}}
login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<form action="LoginAction" method="post">用户名:<input type="text" name="username">密码:<input type="password" name="password">年龄:<input type="text" name="age"><input type="submit" value="提交"/></form>
</body>
</html
User对象类
package com.southstar.demo;public class User {private String username;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;}private String password;public int getAge() {return age;}public void setAge(int age) {this.age = age;}private int age;}
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
登陆成功!
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><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
<?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="hello" namespace="/" extends="struts-default"><default-action-ref name="index"></default-action-ref><action name="index"><result>/error/no.jsp</result></action><action name="LoginAction" method="login" class="com.southstar.demo.LoginAction"><result name="success">/success.jsp</result><result name="input">/login.jsp</result></action><!--<action name="sayHi" method="sayHi" class="com.southstar.demo.HelloAction" ><result name="success">/hello/sayHi.jsp</result></action>--></package><constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
</struts>
struts2框架入门相关推荐
- java struts2 框架 入门简介
目录 一.Struts2框架执行流程 二.Struts2的快速入门 1.导入jar包 2.配置web.xml文件 3.配置struts.xml文件 4.创建Action来完成逻辑操作 三.Struts ...
- Struts2框架简单入门
Struts2框架简单入门 1.前言 2.Struts2简介 2.1.Struts2介绍 2.2.Struts2优缺点 2.2.1.优点 2.2.2.缺点 2.2.3.Struts2获取 3.入门案例 ...
- Struts2入门第一讲——Struts2框架的快速入门
Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架,它自问世以来,就受到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中.目前掌握Struts2框架几乎成为Web ...
- Struts2框架学习总结(从入门到精通)
文章目录 一.Struts2入门 struts2概述 struts2入门案例 struts2底层执行过程 struts2相关配置 struts2的核心配置文件struts.xml struts2常量配 ...
- Struts2框架学习笔记_Struts2入门
文章为学习struts的笔记,可供读者参考,有不足之处还望之指出. 参考: POJO与JavaBean的区别 Velocity Velocity官网 FreeMarker XSLT struts2 学 ...
- 基于Struts2框架的名片管理系统
目录 1.系统设计 2.数据库设计 3.系统管理 4.用户管理 5.名片管理 本篇博文将分享一款基于Struts2框架的名片管理系统,JSP引擎为Tomcat9.0,数据库采用的是MySQL5.5,集 ...
- Struts2框架完成登录操作案例
一个简单的登录案例思路分析 在这个案例中,我们要使用struts2框架怎样解决 重点: struts2框架如何完成原来由servlet完成的工作. Struts2框架如何完成请求参数的封装处理 Str ...
- struts2找不到action_第一次用上Struts2框架做Web开发的体验……
SliiyStruts2 又名 sb-struts2,因为struts真的太难用了(也许在很多年前是很好用的,但是现在看来,被其他框架秒成渣) 前言 想不到我还是得和这struts框架打交道啊,从一开 ...
- (转)Struts2快速入门
http://blog.csdn.net/yerenyuan_pku/article/details/66187307 Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架, ...
最新文章
- Visual Studio解决freopen等函数报错函数安全问题
- boost::mpl模块实现comparison相关的测试程序
- 英特尔软件学院与中国一起迎接2008
- 电源模块怎么选?以下6点你都知道吗?
- php读取三维数组,php 读取多维数组方法_PHP教程
- 【数据库系统】SQL查询的注意事项
- 我这么认真地问问题,你为啥不回答???
- 【C++】 29_类中的函数重载
- android 4 时间限制,Android触摸精灵
- 软件测试输入准则,单元测试准则
- Amcharts属性的含义
- php无法访问_php突然不能访问的原因
- [裴礼文数学分析中的典型问题与方法习题参考解答]4.5.1
- oceanbase安装记录
- python pil模块
- java身份证以及手机号的工具类
- Wormhole连接教程
- 自述从被坑70000到开工作室月入100000+:我做自动项目这一年辛酸史!
- 一个程序员的面试经历(一)
- Caused by: org.postgresql.util.PSQLException: ERROR: column xxx.xxx does not exist