Struts2:搭建原理
记录下,struts2的搭建过程:
1核心jar包:
struts-2.1.8\apps\struts2-blank-2.1.8.war 解压后 在struts2-blank-2.1.8\WEB-INF\lib下就是
2配置文件白板
web.xml在 struts2-blank-2.1.8\WEB-INF\web.xml
struts.xml在 struts2-blank-2.1.8\WEB-INF\classes\struts.xml
3 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"> </package> <package name="user" namespace="/user" extends="struts-default"> <action name="*_*" class="action.{1}Action" method="{2}">
<result name="login_success">/user/login_success.jsp</result>
<result name="login_failure">/user/login.jsp</result>
<result name="logout_success">/user/logout.jsp</result>
</action> </package> </struts>
4 action.UserAction.java控制文件
package action; import org.apache.struts2.interceptor.validation.SkipValidation; import service.UserDAO;
import servie.impl.UserDAOImpl; import com.opensymphony.xwork2.ModelDriven; import entity.User; public class UserAction extends SuperAction implements ModelDriven<User>{
private User user = new User();
private static final long serialVersionUID = 1L; public String login(){//用户登录动作
UserDAO uDao = new UserDAOImpl();
if (uDao.userLogin(user)) { //在session中保存登陆成功后的信息
session.setAttribute("loginUserName", user.getUsername()); return "login_success";
}else {
return "login_failure";
}
} //注销用户
public String logout()
{
if (session.getAttribute("loginUserName") != null) {
session.removeAttribute("loginUserName");
}
return "logout_success";
} public User getModel(){
//ModelDriven就必须实现getModel这个方法,
//该方法返回的是你的ModelDrivern泛型中设定的实体类
return this.user;
} }
5 访问注意命名空间,namespace="/user",表单的访问登陆控制页面的路径为
<form action="<%=path %>/user/User_login.action" method="post">
6 index.jsp跳转页面语句是
<%
response.sendRedirect(request.getContextPath() + "/user/User_login.action");
%>
/user是命名空间,.action结尾的为被strut.xml配置文件拦截,跳转到UserAction控制文件的login()方法。
Struts2:搭建原理的更多相关文章
- 漂亮回答面试官struts2的原理
众所周知,Struts2是个非常优秀的开源框架,我们能用Struts2框架进行开发,同时能快速搭建好一个Struts2框架,但我们是否能把Struts2框架的工作原理用语言表达清楚,你表达的原理不需要 ...
- Struts2工作原理
Struts2工作原理 Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.Acti ...
- Hibernate、Spring和Struts2工作原理
Hibernate.Spring和Struts2工作原理 博客分类: Java 基础 工作HibernateSpringMVCStruts Hibernate.Spring和Struts2工作原理 ...
- PhpStorm Xdebug远程调试环境搭建原理分析及问题排查
2017年05月26日 经验心得 目录 一. 环境介绍 二. 远程环境配置 2.2 Xdebug安装 2.3 配置 三. 本地phpstorm配置 3.1 下载远程代码 3.2 添加php解释器 ...
- Struts2工作原理和核心文件
一.Struts2工作原理 如下图: 二.Struts2配置文件 1.web.xml 任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置了web.xml文件的Servl ...
- 使用Struts2搭建登录注册示例
使用Struts2来搭建mvc网站框架还是比较容易的,Struts2提供了各项辅助功能,保证了web开发的快速方便.下面使用struts2来搭建一个登录注册示例. 0 项目结构截图 1 搭建Strut ...
- struts2漏洞原理及解决办法
1.原理 Struts2的核心是使用的webwork框架,处理action时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL(这里是ONGL的介 ...
- JAVA Struts2 搭建
java struts 2搭建 1.web工程 2.将struts2 用到的jar包,拷贝到webcontent/webinf/lib文件夹.下 3.webcontent 下的web.xml 下 ...
- Struts1.2,struts2.0原理分析
struts1原理: 1.首先我们表单提交到action 2.进入到web.xml 3.web.xml拦截*.do 4.交给ActionServlet 5.找到path属性,获得url 6.找到nam ...
随机推荐
- solr java代码
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- maven的使用解说
maven周期及项目中的应用: 周期如下: 1.default生命周期,部署项目(jar包的依赖管理) 2.clear生命周期,项目清理工作 3.site生命周期,处理项目中产生的文档信息 应用: 1 ...
- PTA A1013
第七天 A1013 Battle Over Cities (25 分) 题目内容 It is vitally important to have all the cities connected by ...
- python excel to mysql
import sys import xlrd import pymysql import math import json from collections import OrderedDict # ...
- 利用kubeadm快速部署 kubernetes 集群
结合一下两个教程 https://www.cnblogs.com/along21/p/10303495.html 链接:https://pan.baidu.com/s/1O_pcywfso4VFOsF ...
- uboot学习之BL3的流程
BL2的最后通过汇编调用了board_init_r函数,此时进入BL3的阶段,此时的主要工作: 这一阶段涉及的文件及任务如下 arch/arm/lib/board.c 1. boa ...
- 【linux】【mysql】mysql8.0开启远程访问及常见问题
1.连接数据库 [root@localhost ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands e ...
- 程序员写 2000 行 if else?领导:这个锅我不背
前言 知乎上有小伙伴提了这么一个问题,如何看待陕西省普通话水平测试成绩查询系统?查询系统前端代码就直接给出了身份账号,姓名,证书编号,如果信息是真的,就泄露了这么多考生的信息,白给那种.为什么会发生这 ...
- 先森林后树木:Elasticsearch各版本升级核心内容必看
在学习Elasticsearch 时候,因为各个版本的问题,搞不清,非常的头疼,官方也给出了各个版本更新的情况,不过是英文版本,版本更新信息又特别多,最近学习,看了很多资料,没有一个整理很清楚的,然后 ...
- Spring 梳理-使用<context:property-placeholder>标签导入多个properties文件
使用<context:property-placeholder>标签导入多个properties文件 2017年12月20日 10:10:36 sf_climber 阅读数:5830更多 ...