Struts2.3.24框架入门之一环境配置及入门实例HelloWorld
2015-07-21 13:13
597 查看
Struts框架简单实例——HelloWorld
step1:环境搭建
到Struts官网下载最新版本:http://struts.apache.org/download.cgi导入必备jar包:
序号 | 名称 | 描述 |
1 | commons-fileupload-1.2.2.jar | 文件上传组件 |
2 | commons-io-2.0.1.jar | io包 |
3 | commons-lang3-3.1.jar | 基础工具包,封装一些常用的基础操作 |
4 | commons-loggin-1.1.1.jar | 日志组件 |
5 | freemarker-2.3.19.jar | 一个基于模板生成文本输出的通用工具 |
6 | ognl-3.0.6.jar | 对象图导航语言(jar包库) |
7 | strut2-core-2.3.12.jar | Struts2核心jar包 |
8 | xwork-core-2.3.12.jar | xwork核心包 |
9 | javassist-3.15.0-GA.jar | 扩展java类和实现 |
step2:配置文件
1.web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" 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_3_0.xsd"> <display-name></display-name> <!-- Struts2框架配置 --> <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> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> </web-app>
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> <!-- 指定由spring负责action对象的创建 --> <!-- <constant name="struts.objectFactory" value="spring" /> --> <!-- 所有匹配的请求都由struts2处理 --> <constant name="struts.action.extension" value="action" /> <!-- 是否启用开发模式 --> <constant name="struts.devMode" value="false" /> <!-- struts配置文件改动后,是否重新加载 --> <constant name="struts.configuration.xml.reload" value="true" /> <!-- 设置浏览器是否缓存静态内容 --> <constant name="struts.serve.static.browserCache" value="false" /> <!-- 请求参数的编码方式 --> <constant name="struts.i18n.encoding" value="utf-8" /> <!-- 每次HTTP请求系统都重新加载资源文件,有助于开发 --> <constant name="struts.i18n.reload" value="true" /> <!-- 让struts2支持动态方法调用 --> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <!-- Action名称中是否还是用斜线 --> <constant name="struts.enable.SlashesInActionNames" value="false" /> <!-- 允许标签中使用表达式语法 --> <constant name="struts.tag.altSyntax" value="true" /> <!-- 对于WebLogic,Orion,OC4J此属性应该设置成true --> <constant name="struts.dispatcher.parametersWorkaround" value="false" /> <!-- 把主题改为simple --> <constant name="struts.ui.theme" value="simple"></constant> <package name="basePackage" extends="struts-default"> <action name="login_*" class="cn.order.action.LoginAction" method="{1}"> <result name="list">/WEB-INF/jsp/loginAction/login.jsp</result> </action> </package> </struts>
需要注意的:这个文件里,配置的过滤器的类是:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。和原来配置的类不一样。原来配置的类是:org.apache.struts2.dispatcher.FilterDispatcher。这是因为,从struts-2.1.3以后,org.apache.struts2.dispatcher.FilterDispatcher值被标注为过时。虽然仍然起作用,但是不建议使用。
step3:编码
1.User.java
package cn.order.model; public class User { private String userName; private String userId; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } }
2.LoginAction.java
package cn.order.action; import cn.order.model.User; import com.opensymphony.xwork2.ModelDriven; public class LoginAction implements ModelDriven<User>{ User model=new User(); @Override public User getModel() { return model; } public String list(){ return "list"; } }
3.login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>登录</title> </head> <body> login </body> </html>
4.index.jsp
<%@ page language="java" pageEncoding="utf-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>helloWorld</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> <s:form name="frmLoign" action="login_list" method="post" > <s:label value="系统登陆"></s:label> <br> <s:textfield name="userName" label="用户名"></s:textfield> <br> <s:password name="password" label="密码"></s:password> <br> <s:submit value="提交"></s:submit> </s:form> </body> </html>
Step4:流程运行及总结
启动tomcat,在网页地址栏里输入:http://localhost:8080/项目的名称,打开登录页面。如下所示:提交后就可以到login.jsp页面。
相关文章推荐
- SpringMVC拦截器
- spring4 -- 基于jdbcTemplate的分页
- spring4 -- JdbcTemplate数据库操作
- springMVC详细配置+Mysql+jdbcTemplate实现分页功能
- dubbo接口address从diamond获取按spring的BeanPostProcessor代理实现
- java.lang.String小测试
- Spring架构使用JdbcTemplate进行数据库功能开发
- Spring AOP在pointcut expression解析表达式 并匹配多个条件
- Spring中的JDBCTemplate使用(非常详细的配置过程)
- Spring JdbcTemplate 使用总结与经验分享
- spring框架学习(六)AOP
- spring框架学习(五)注解
- spring框架学习(四)自动装配
- spring框架学习(三)junit单元测试
- spring框架学习(二)依赖注入
- spring框架学习(一)
- Spring JdbcTemplate方法详解
- static class 静态类(Java)
- java中string与byte[]的转换
- Spring MVC3.0.5搭建全程 .