Struts2中一個簡單的入門例項
一.基本步驟:
1.準備struts2包:
最基本的五個jar包拷貝到WEB-INF的lib目錄下,具體包名如下:
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.2.jar
xwork-2.0.5.jar
2.在web.xml註冊和對映FilterDispatch
org.apache.struts2.dispatcher.FilterDispatcher
3.login.jsp介面
<form action="user!login.action">
4. 寫UserAction類,不需要繼承
5. 在一個配置檔案struts.xml檔案,放在src下面
二.一個action處理多個請求
1. 在action中把execute方法刪除或改名
2. 建立自己的方法
3. <form action="user!login.action"
這裡本來是action="user.action"
這裡的login就是方法名
三.怎麼使用request/ session
1. 只要在action寫一個屬性,並生成set/get就會自動儲存到request
2. ActionContext.getContext().put("test2", "test2");
具體程式碼如下:
建立專案名稱:Struts2.
在src目錄下.建立包com.struts2.action
在包下面建立一個UserAction類;
具體程式碼如下:
package com.struts2.action;
import com.opensymphony.xwork2.ActionContext;
public class UserAction {
private String id;
private String username;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
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;
}
/**
* 登陸方法;
* @return String;
*/
@SuppressWarnings("unchecked")
public String login(){
this.id = "1001";
//判斷;
if(this.username.equals("zhouhaitao") && this.password.equals("7290783")){
//ActionContext.getContext.相當於request.setAttribuet()一樣;
ActionContext.getContext().put("id",id);
//儲存到session當中;
ActionContext.getContext().getSession().put("name", this.username+"登陸成功!");
return "yes";
}else{
return "no";
}
}
/**
* 註冊方法;
*/
public String regester(){
System.out.println("呼叫註冊的方法.開始註冊!");
System.out.println(this.id);
System.out.println(this.username);
System.out.println(this.password);
ActionContext.getContext().put("name",this.username+"註冊成功!");
return "yes";
}
}
之後,在src目錄下:建立struts.xml檔案.
內如如下:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > <struts> <!-- 可以引用其他的配置檔案 --> <include file="struts-default.xml"></include> <!-- name代表包的名稱 extends代表引用其他的預設檔案,namespace代表名稱空間,可選--> <package name="com.struts2.action" extends="struts-default"> <!-- name 代表action名稱,與struts1的path類似 --> <action name="user" class="com.struts2.action.UserAction"> <result name="yes" type="dispatcher">success.jsp</result> <result name="no" type="redirect">failure.jsp</result> </action> </package> </struts>
在WebRoot目錄下:建立一個login.jsp頁面
具體程式碼如下:
<%@ page language="java" import="java.util.*" 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>Login Page</title>
<script type="text/javascript">
//提交;
function onSubmitLogin(){
var username = document.getElementById("username");
var password = document.getElementById("password");
var bol = false;
if(username.value == ""){
alert("使用者名稱不能為空!");
username.focus();
bol = false;
return;
}
if(password.value == "" || password.value.length <=0){
alert("密碼不能為空!");
password.focus();
bol=false;
return;
}
if(bol=true){
document.getElementById("myform").submit();
}
}
</script>
</head>
<body onload="document.getElementById('username').focus()">
<center>
<h1>使用者登陸</h1>
<form action="user!login.action" method="post" name="myform" id="myform">
使用者名稱:<input type="text" name="username"> <Br/>
密碼: <input type="password" name="password"><Br/><Br/>
<input type="button" value=" 登 陸 " onclick="onSubmitLogin()">
<input type="reset" value=" 重 置 ">
</form>
</center>
</body>
</html>
建立一個success.jsp 頁面 和failure.jsp頁面。
<%@ 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> <font color="red"><h1>恭喜:${request.name }</h1></font> <Br/> <a href="http://localhost:8080/Struts2/regist.jsp">返回註冊頁面</a> <a href="http://localhost:8080/Struts2/login.jsp">返回登陸頁面</a> </body> </html>
failure頁面:
<%@ 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>
<font color="red"><h1>抱歉,登陸失敗!!</h1></font><br/>
<a href="http://localhost:8080/Struts2/login.jsp">返回登陸頁面</a>
</body>
</html>
配置web.xml檔案、
程式碼如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Struts2</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
在tomcat中部署,釋出啟動服務.
在流量器中執行:
http://localhost:8080/Struts2/login.jsp
然後,輸入正確的使用者名稱和密碼.
ok。登陸成功!
相關文章
- opengl簡單入門例項
- EasyUI - 一個簡單的後臺管理系統入門例項UI
- 超級簡單入門vuex 小例項Vue
- [Python入門]:Python簡單例項100個(入門完整版)Python入門看這個一套搞定!!Python單例
- Spring Cloud超簡單十分鐘入門例項SpringCloud
- React 入門-寫個 TodoList 例項React
- 簡單好用的文字編輯器《Simditor》外掛快速入門例項
- vue 快速入門的三個小例項Vue
- vue快速入門的三個小例項Vue
- 樸素貝葉斯入門例項之就是這麼簡單
- TypeScript入門例項TypeScript
- Websocet 入門例項Web
- SoapUI入門例項UI
- Flutter 入門例項Flutter
- Kafka入門例項Kafka
- Struts入門例項
- websocket簡單例項Web單例
- React 入門例項教程React
- ActiveMQ 入門及例項MQ
- React 入門最好的例項-TodoListReact
- c++類的簡單例項C++單例
- jquery圖片預載入簡單程式碼例項jQuery
- python3將變數輸入的簡單例項Python變數單例
- struts2入門
- jQuery實現的簡單投票簡單程式碼例項jQuery
- Django+MySQL 例項入門DjangoMySql
- Vue專案入門例項Vue
- React入門學習例項React
- Jquery入門及例項一jQuery
- Java多型的一個簡單入門的例子Java多型
- javascript事件冒泡簡單例項JavaScript事件單例
- Spark 簡單例項(基本操作)Spark單例
- javascript this用法和簡單例項JavaScript單例
- Java的Socket通訊簡單例項Java單例
- jQuery實現的動畫簡單例項jQuery動畫單例
- 24 個例項入門並掌握「Webpack4」(二)Web
- 24 個例項入門並掌握「Webpack4」(三)Web
- 24 個例項入門並掌握「Webpack4」(一)Web