structs2入门 用户登录案例
2016-10-09 16:09
483 查看
structs2用户登录的实现过程
1 jsp出发action2 struts2拦截请求,调用后台action
3 action返回结果,由不同的jsp展现数据
1、需要的jar包
前面两个是apache commons的jar包,暂且忽略
freemarker提供了另一种展现方式
ognl提供了OGNL表达式
struts2-core提供struts2核心包
xwork-core由于struts2很多事基于webwork的,因此也需要这个的核心包
把上面的包导入web-inf下的lib文件夹中,构建路径(building path)
2、配置struts2的struts.xml文件
★ 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> <!-- 指定默认编码集 ,作用于HttpServletRequest的setCharacterEncoding()和freemarker,vilocity的输出 --> <constant name="struts.i18n.encoding" value="UTF-8"/> <!-- 当struts配置文件修改时是否自动加载 --> <constant name="struts.configuration.xmlreload" value="true"/> <!-- 开发模式下打印详细的错误信息,默认为false --> <constant name="struts.devMode" value="true"/> <!-- 标准的UI主题,默认的UI主题为xhtml,可以为simple,xhtml或ajax --> <constant name="struts.ui.theme" value="xhtml"/> <!-- package中需要注意namespace的值代表命名空间 其中可能会有action等组件,在jsp连接action的url路径是namespace+action的name.action --> <package name="alleged" namespace="/cx" extends="struts-default"> <action name="login_*" class="com.frame.action.UserLogin" method="{1}"> <!-- 当UserLogin检验成功后跳转到hello.jsp 检验失败跳转到error.jsp --> <result name="success">/WEB-INF/pages/hello.jsp</result> <result name="error">/WEB-INF/pages/error.jsp</result> </action> </package> </struts>
3、com.frame.action包下的action类UserLogin.java
package com.frame.action; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import com.opensymphony.xwork2.ActionSupport; public class UserLogin extends ActionSupport implements ServletResponseAware, ServletRequestAware { private HttpServletRequest request; private HttpServletResponse response; 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; } @Override public void setServletRequest(HttpServletRequest request) { this.request = request; } @Override public void setServletResponse(HttpServletResponse response) { this.response = response; } @Override public String execute() throws Exception { System.out.println("ggag"); if (getUsername().equals("alleged") && getPassword().equals("root")) { request.setAttribute("username", "tiantian"); return SUCCESS; 4000 } else { return ERROR; } } }
4 、对应的jsp页面
index.jsp 在webContent目录下<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- 引用structs2 的标签 --> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录</title> </head> <body> <s:form action="cx/login.action" validate="true"> <s:textfield name="username" key="用户名"/> <s:textfield name="password" key="密码"/> <s:submit key="login"/> </s:form> </body> </html>
hello.jsp error.jsp 在web-inf目录下的pages文件夹中
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <label>欢迎你:${username}</label> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h1>出错了</h1> </body> </html>
相关文章推荐
- DataSet案例:用户登录入门8
- DataSet案例:用户登录入门8
- 【JSF】快速入门案例(用户登录界面)
- struts的快速入门案例(用户登录验证)——手动配置方式
- struts的快速入门案例(用户登录验证)——手动配置方式
- Asp.net2.0身份验证技术学习入门---新用户注册,登录,显示用户信息
- 用户注册登录案例
- 使用structs2.0开发一个简单的用户登录程序
- 用户登录域时间过久问题解决案例
- ASP.Net 2 入门(一)――用户登录和注销
- ASP.Net 2 入门(二)――用户登录和注销
- 一个危险的XSS案例——轻松拿到登录用户的cookie
- MS SQL入门基础:用户和安全性管理--SQL Server的登录认证
- 用户地址oracle特定用户登录失败案例
- yii框架入门之用户登录
- Struts2+hibernate实现用户登录和增删改查案例
- ASP.Net 2 入门(一)――用户登录和注销 【转】
- MVC案例,开发用户登录模块(一)
- J2EE开发案例:用户登录系统
- Ajax一个简单入门程序(用户登录验证)