当前位置:首页 >> 核电技术聚变聚能设备 >> 【SSH高速进阶】——struts2简单的实例,e6850(ssh struts)

【SSH高速进阶】——struts2简单的实例,e6850(ssh struts)

cpugpu芯片开发光刻机 核电技术聚变聚能设备 1
文件名:【SSH高速进阶】——struts2简单的实例,e6850 【SSH高速进阶】——struts2简单的实例

近期刚刚入门struts2。这里做一个简单的struts2实例来跟大家一起学习一下。

本例实现最简单的登陆,仅包括两个页面:login.jsp 用来输入username与password;success.jsp 为登陆成功页面。error.jsp为登陆失败页面。


1、新建web项目“struts2”


2、引入jar包


下载struts2所需jar包 struts-2.3.24-all.zip

解压后将例如以下最主要的jar包导入到WebRoot/WEB-INF/lib下

3、在WebRoot下建立页面


login.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head> <body><form action="login">username:<input type="text" name="username" /><br>password:<input type="password" name="password" /><br><input type="submit" value="submit" /><br></form> </body></html>

此处form标签的action属性值指向的是以下struts.xml中的action标签的name属性,表示提交的表单由action标签中的class指向的LoginAction类来处理。

success.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body>恭喜您:${requestScope.username} 登陆成功<br/></body></html>

error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head> <body>登陆失败</body></html>

3、配置web.xml


<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" 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_2_5.xsd"><display-name></display-name> <welcome-file-list><welcome-file>login.jsp</welcome-file></welcome-file-list><!-- 此Filter目的是设置全部的请求都由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><!-- 全部请求都由Struts2来处理 --></filter-mapping></web-app>

此处用filter过滤器设置了不论什么client的请求都由struts2来处理(设置struts为请求分发器)

4、建立action


package com.danny.user.action;public class LoginAction {private String username;private String password;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;}public String execute() {if("admin".equals(username) && "admin".equals(password)){return "success";}else{return "error";}}}

这个LoginAction用于处理登陆页面发来的数据。既然要处理数据,首先要接收数据,那么它是怎样接收到前台的数据的呢? 页面提交之后,去struts.xml中寻找相应action,进而找到LoginAction。LoginAction依据表单中input的name属性来获取值。规则就是:input的name属性值要和LoginAction中相相应的get、set方法后面的值一样。与LoginAction的字段没有关系:比方input的name属性值为“username”,那么LoginAction重相应的字段的get方法名应为“getUsername()”。所以这个LoginAction全然能够改成这样:

package com.danny.user.action;public class LoginAction {private String name;private String pwd;public String getUsername() {return name;}public void setUsername(String username) {this.name = username;}public String getPassword() {return pwd;}public void setPassword(String password) {this.pwd = password;}public String execute() {if("admin".equals(name) && "admin".equals(pwd)){return "success";}else{return "error";} }}

LoginAction中的execute方法是每一个action必需要实现的方法,用于处理数据并返回要显示的界面。

5、配置struts.xml


在src文件夹下建立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="struts2" extends="struts-default"> <!-- extends是继承的意思,struts-default位于struts2-core-2.3.24.jar.struts-default.xml --> <action name="login" class="com.danny.user.action.LoginAction"> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> </action> </package> </struts>

struts.xml中,每一个action相应一个action。这个name为”login”的action就相应com.danny.user.action包下的LoginAction。result的name相应于action的execute的返回值,假设返回”success”则跳转到success.jsp;假设返回”error”则跳转到error.jsp。


至此。部署项目,訪问localhost:8080/struts2,进入登陆页面:

登陆成功时,跳转到成功页面:

用户名、密码错误时,跳转到登陆失败页面:

整个步骤例如以下

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接