bean

用于创建一个JavaBean实例

constant

用于Struts2默认行为标签

<!-- 配置web默认编码集,相当于HttpServletRequest.setChartacterEncoding用法,配置了这个相当于配置了一个字符编码过滤器 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 默认Struts2拦截的请求后缀是.action,也就是说我们配置了该元素,会拦截.do的请求,而不是.action,要包含,则在value属性中添加action,do即可 -->
<constant name="struts.action.extension" value="do"></constant>
<!-- 设置浏览器是否缓存静态内容,默认值为true,在开发阶段建议关闭,防止修改后测试不到 -->
<constant name="struts.serve.static.browserCache" value="false"></constant>
<!-- 当struts配置文件修改后,系统是否自动重新加载该文件,默认为false。开发阶段建议设置为true,配置好后,更改为false -->
<constant name="struts.configuration.xml.reload" value="true"></constant>
<!-- 开发模式下使用,这样可以打印除更加详细的错误信息 -->
<constant name="struts.devMode" value="true"></constant>
<!-- 默认视图主体 -->
<constant name="struts.ui.theme" value="simple"></constant>

include

用于引入其它的xml配置文件

package

是包标签,用于区分不同的请求文件的标签,比方说网站前台请求/网站后台请求 -->

<!-- name:包名,用于被别的包调用或继承
  extends:继承哪个包,会继承该包下配置信息和拦截器等等
  namespace:选填,url连接必须加入namespace属性值。如下:/new/action.xxx
-->
<package name="test" namespace="/new" extends="struts-default">
  <!-- action相当于以前的servlet的概念,对应一个请求,name为请求的url地址;class为处理请求的action类 -->
  <action name="login" class="com.studyStruts.action.LoginAction">
    <!-- 相当于请求处理后要跳转的位置,name为return的值 -->
    <result name="success">/success.jsp</result>
    <result name="fail">/fail.jsp</result>
  </action>
</package>

简单登录示例

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">
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=path %>
<br />
<%=basePath %>
<br />
<form action="<%=path%>/new/login.do" method="post">
用户名:<input type="text" name="username">
密码:<input type="password" name="password">
<input type="submit" value="提交">
</form>
</body>
</html>

LoginAction.java

private String username;
private String password;
    
public String execute(){
  if(username.equals("admin") && password.equals("123")){
    return "success";
  }else{
    return "fail";
  }
}
    
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;
}

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>

    <constant name="struts.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.action.extension" value="do"></constant>
<constant name="struts.ui.theme" value="simple"></constant> <package name="test" namespace="/new" extends="struts-default">
<action name="login" class="com.studyStruts.action.LoginAction">
<result name="success">/success.jsp</result>
<result name="fail">/fail.jsp</result>
</action>
</package> </struts>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<!-- 与项目名称一致 -->
<display-name>StudyStruts2</display-name> <!-- 设置url不写文件名时,默认访问的页面 -->
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list> <!-- 添加struts过滤器 -->
<filter>
<filter-name>StrutsFilter</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>StrutsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> </web-app>

http请求时程序处理流程

配置文件连接点

最新文章

  1. pip安装指定版本的package
  2. .net core 产品开发问题记录
  3. IOS 集成第三方登录
  4. 网页中调用Google地图
  5. Ajax前台与Mod_python后台应用示例
  6. [Hyper-V]制作一个干净的操作系统模板
  7. URAL 1291 Gear-wheels(BFS)
  8. LA 3695 Distant Galaxy
  9. sqlalchemy - day1
  10. MYSQL参数学习---------------- 张碧池
  11. CentOS 6.4 编译Open vSwitch2.0
  12. asp.net弹出多个模态窗口
  13. webdynpro tree控件使用
  14. Node.js web快速入门 --&#160;KoaHub.js
  15. 5.0、Android Studio调试你的应用
  16. freeze
  17. 实验十一 团队作业7---团队项目设计完善&amp;编码测试
  18. Gym101194J Mr.Panda and TubeMaster 二分图、费用流
  19. 光流法详解之二(HS光流)
  20. 定义一个Rectangle类,该类提供getLength和getWidth方法。

热门文章

  1. 【起航计划 029】2015 起航计划 Android APIDemo的魔鬼步伐 28 App-&gt;Preferences-&gt;Default Values 偏好默认值
  2. KinSlideshow焦点图轮播插件
  3. XCode 如何真机运行别人的demo项目
  4. Prestashop-1.6.1.6-zh_CN (Openlogic CentOS 7.2)
  5. WannaCry勒索病毒卷土重来:日本本田工厂被迫关闭
  6. Selenium入门15 截图
  7. PHP设计模式练习——制作简单的投诉页面
  8. 2018年第九届蓝桥杯【C++省赛B组】第四题 测试次数
  9. MAC下secureCRT无法保存密码的解决方法
  10. AI-Info-Micron-Insight:V2X 自主性:帮助减少事故、排放和交通拥堵