struts2应用及配置01
来源:互联网 发布:新申请的域名注册商 编辑:程序博客网 时间:2024/06/01 08:50
为什么要用struts2框架,先谈谈servlet的缺点:
1、写一个servlet需要在web.xml文件中配置8行,如果一个系统中servlet很多,则会导致 web.xml文件中的内容很多 2、在项目中很多人编辑一个web.xml文件会出现版本冲突的问题 3、在一个servlet中方法的入口只有一个,如果在servlet中写很多方法,这些方法应该传递参数,根据每次请求的参数不一致来判断执行哪个方法 4、servlet中的方法都有两个参数request,response,这两个参数具有严重的容器依赖性,所以在servlet中写的代码是不能单独测试的 5、现在写一个servlet,为注册servlet ResigterServlet{ public void doPost(){ 1、权限的操作 2、获取表单中的数据 3、文件的上传的功能 4、表单上的元素进行验证 5、保存一个用户 } } 6、如果在表单中的元素很多,在servlet中要想获取表单中的数据,那么在servlet的方法中必要有大量的 request.getParameter代码 7、在一个servlet的属性中声明一个数据,会存在线程安全的问题
Servlet的优点:
因为是最低层的mvc,所以效率比较高
struts2中action是否安全
struts2的action的说明:
1、action是多实例的,每请求一次将会创建一个对象
2、是不存在线程安全的问题的:不存在
1.先搭建环境:导jar包
freemarker-2.3.22.jar ---------- 表现层框架,定义了struts2的可视组件主题,struts2的UI标签的模版,使用FreeMark编写
javassist-3.11.0.GA.jar
ognl-3.0.6.jar
struts2-core-2.3.24.jar
xwork.jar
commons-fileupload-1.3.1.jar -- 文件上传组件,2.1.6版本后必须加入此文件
commons-io-2.2.jar
commons-lang3-3.2.jar
commons-logging-1.1.3.jar
2.配置web.xml文件
<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>
注:过滤器就是为了启动struts2框架,接收前端请求,在struts.xml中找到对应action类,并实例化,调用action类中execute方法,通过返回字符串在struts.xml中匹配对应返回界面
3.引入struts.xml文件
从压缩文件Struts2\struts-2.3.24\src\apps\portlet\src\main\resources中找到struts.xml文件,将其复制到src下面
增加<package name="default" extends="struts-default">
<action name="helloWorld" class="com.li.bean.HelloWorld">
<result name="success">/HelloWorld.jsp</result>
</action>
</package>
helloWorld为前端求情路径,class为action实例类路径,success是返回字符串
action类HelloWorld
public class HelloWorld extends ActionSupport{
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Override
public String execute(){
if(username.equals("lisi")){
return "success";
}
return null;
}
}
前端页面from表单
<form action="helloWorld" method="post">
姓名<input type="text" name="username">
<input type="submit" value="提交">
</form>
这样一次请求回应完成,jsp1-struts.xml-action-struts.xml-jsp2
- struts2应用及配置01
- struts2详细配置及应用
- Struts2配置及应用详解
- Struts2下载及配置
- Struts2原理及配置
- Struts2配置及国际化配置
- Struts2 + Json _ 配置,异常解决及深入了解Struts2返回JSON数据的原理及具体应用范例
- Struts2的原理及应用
- struts2的简单应用配置
- struts2环境配置与应用
- struts2整合tiles及配置
- struts2整合tiles及配置
- struts2整合tiles及配置
- struts2整合tiles及配置
- Struts2配置及案例实现
- struts2 常量配置及详解
- Struts2 restful配置及使用
- struts2.0配置及使用
- 97. Interleaving String
- (译)JVM Concurrent Mark Sweep (CMS) Collector 1.8
- Android Handler的基本使用
- Wedding UVA
- 用python实现简单的遗传算法
- struts2应用及配置01
- Make sure you have the 32 bits Oracle Client installed
- 需求分析图形演示
- Mac 重装系统 U盘制作OS启动盘
- Xamarin中wcf的引用
- STM32学习笔记一一独立看门狗
- 运行时压缩&调试UPX压缩的notepad
- 记使用Kotlin导入项目时报错
- Java 并发编程:核心理论(转)