Struts2写一个登陆及配置详解
步骤 :
- 创建一个web工程
2、导入jar包
3在web.xml配置核心控制器
<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>*.action</url-pattern> </filter-mapping> |
有有其他filter的情况下 struts2核心控制器应该写在最后面。
4.在SRC下的struts.Xml
<!-- package name是用来标识同一xml中的packge --> <!-- packge的 namespace与action的 name 组成action的访问路径 ,默认是/ --> <!-- extends 固定写法 struts-default 举个例子就像servlet一样需要继承httpservlet 这里的extends的值会被该包下的action标签中的class的path所继承从而使普通的类与 action关联 --> <package name="logindemo" extends="struts-default" namespace="/"> <!-- action name是action的访问名称 后面不需要写.action --> <!-- action class关联类的path--> <action name="login" class="com.action.login"> <!--result name=execute()中的返回值 默认为success --> <result name="success" >/login.jsp</result> <result name="error">/loginError.jsp</result> </action> </package> |
Action类
private String name; private String pwd;
public String execute() { if("aa1122".equals(name)&&"123456".equals(pwd)) { return "success"; }else { return "error"; } } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } |
Action带参数的话需要相应的get set方法如上,且名称要与jsp表单中的name要一致
Jsp页面
<form action="login.action" method="post"> 用户名:<input type="text" name="name"><br/> 密 码:<input type="password" name="pwd"><br/> <input type="submit" value="登陆"> </form> |
Jsp页面2
<body> <h1>登陆成功!!</h1><br/> <!-- ${}取出参数 --> <a>用户名:</a>${name } </body> |
其他配置
<!-- 解决乱码 --> <constant name="struts.i18n.encoding" value="UTF-8"></constant> <!-- 自定义action扩展名 可以添加多个,隔开--> <constant name="struts.action.extension" value="action,,dgg,"></constant> <!-- 设置开发模式,提供友好的错误信息 --> <constant name="struts.devMode" value="true"></constant> <!-- 团队协作开发模式 引入其他的struts的xml配置文件--> <include file="com/user/User.xml"></include> |
<!-- method是action在对应java类要执行的方法,默认是execute --> <action name="user" method="user"></action> |
这些设置都可以在导入的jar包的struts-core/org/apache/struts2/default.properties文件中找到
全局设置
<!-- 配置全局结果集 --> <global-results > <result name="index">/index.jsp</result> </global-results> |
to be continue。。