书签 分享 收藏 举报 版权申诉 / 15

类型实验2Struts2入门.docx

  • 文档编号:10621964
  • 上传时间:2023-02-21
  • 格式:DOCX
  • 页数:15
  • 大小:295.14KB

loginAction:

packagecom.huyue.actions;

importjava.util.ArrayList;

importjava.util.Map;

importjavax.servlet.http.HttpServletRequest;

importcom.huyue.models.UserModel;

importcom.huyue.tools.JDBCTools;

publicclassLoginAction{

privateUserModelum;

HttpServletRequestrequest;

publicvoidexecute(){

}

publicStringfind(){

System.out.print("进入findAction");

Stringun=um.getUserName();

Stringpw=um.getPassword();

Stringsql="select*frombookinfowhereusername='"+un+"'";

JDBCToolsjt=newJDBCTools();

ArrayList>rsList=jt.find(sql);

MaprsMap=rsList.get(0);

Stringpw1=rsMap.get("PASSWORD");

if(pw.equals(pw1)){

System.out.println("--------------登陆成功");

request.setAttribute("un",um.getUserName());

return"success";

}else{

return"saveError";

}

}

publicUserModelgetUm(){

returnum;

}

publicvoidsetUm(UserModelum){

this.um=um;

}

}

Struts.xml:

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN"

"http:

//struts.apache.org/dtds/struts-2.1.dtd">

--package是struts意义上的包-->

/success.jsp

/fail.jsp

Web.xml:

xmlversion="1.0"encoding="UTF-8"?

>

xmlns="

xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="

index.jsp

FirstServlet

com.huyue.servlets.LoginServlets

FirstServlet

/first

struts2

org.apache.struts2.dispatcher.FilterDispatcher

struts2

*.action

JDBCTools:

publicArrayList>find(Stringsql){

ArrayList>rsList=null;

try{

rsList=newArrayList>();

Class.forName("com.mysql.jdbc.Driver");

Connectionconn=DriverManager.getConnection("jdbc:

mysql:

//localhost:

3308/test","huyue","huyue");

Statementstmt=conn.createStatement();

ResultSetrs=stmt.executeQuery(sql);

ResultSetMetaDatarsmd=rs.getMetaData();

while(rs.next()){

MaprsMap=newHashMap();

for(inti=1;i<=rsmd.getColumnCount();i++){

StringcolumnName=rsmd.getColumnName(i);

Stringvalue=rs.getString(columnName);

rsMap.put(columnName,value);

}

rsList.add(rsMap);

}

}catch(Exceptione){

e.printStackTrace();

}

returnrsList;

}

UserModel:

packagecom.huyue.models;

publicclassUserModel{

privateintuserid;

privateStringuserName;

privateStringpassword;

privateStringsex;

privateintage;

privateStringtelNum;

privateStringemail;

publicintgetUserid(){

returnuserid;

}

publicvoidsetUserid(intuserid){

this.userid=userid;

}

publicStringgetUserName(){

returnuserName;

}

publicvoidsetUserName(StringuserName){

this.userName=userName;

}

publicStringgetPassword(){

returnpassword;

}

publicvoidsetPassword(Stringpassword){

this.password=password;

}

publicStringgetSex(){

returnsex;

}

publicvoidsetSex(Stringsex){

this.sex=sex;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this.age=age;

}

publicStringgetTelNum(){

returntelNum;

}

publicvoidsetTelNum(StringtelNum){

this.telNum=telNum;

}

publicStringgetEmail(){

returnemail;

}

publicvoidsetEmail(Stringemail){

this.email=email;

}

}

4.5运行结果截图

4.6回答问题

1.简述Struts2的体系结构。

答:

Struts2是一个上拉型MVC框架。

在Struts2的模型-视图-控制器模式,实现以下五个核心部件:

Actions,Interceptors,ValueStatck/OGNL,Results/Resulttypes,Viewtechnologies.

2.简述Struts2的工作机制。

答:

Struts2与WebWork的工作方式类似,它同样使用了拦截器作为其处理用户请求的控制器。

在Struts2中有一个核心控制器FilterDispatcher,这个核心控制器相当于Struts1的ActionServlet类。

FilterDispatcher负责处理用户的所有请求,如果遇到以“.action”结尾请求的URL,就会交给Struts2框架来处理,具体步骤如下:

(1)客户端浏览器发送请求,此时客户端会初始化一个指向Servlet容器的请求。

(2)这个请求要经过一系列的过滤器(3)接着核心控制器FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定是否调用action以及调用哪个action(4)如果ActionMapper决定需要调用某个action,FilterDispatcher把请求的处理交给ActionProxy(5)ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的action(6)ActionProxy创建一个ActionInvocation的实例(7)ActionInvocation实例使用命名模式来调用,在调用Action的execute()方法之前,struts2回调用一系列的拦截器以提供一些通用的功能。

(8)在调用完拦截器链之后,struts2会调用action的execute方法(9)一旦action执行完毕,ActionInvocation负责根据struts.xml中的配置找到相应的返回结果。

3.叙述实验中的struts.xml文件中,各个元素代表的含义,以及struts.xml在工程中的位置。

答:

(1)

--package是struts意义上的包-->

/success.jsp

—result配置元素:

result元素代表一个可能的输出。

当action类的方法完成时,将返回一个字符串类型的结果码,框架就根据这个结果码选择对应的result元素,向用户输出。

-->

/error.jsp

(2)struts.xml是Struts2的核心配置文件,通常放在Web应用程序的WEB-INF/classes目录下

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
实验 Struts2 入门
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:实验2Struts2入门.docx
链接地址:https://www.bdocx.com/doc/10621964.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开