尚学堂科技王勇讲Struts1Word格式.docx

上传人:b****5 文档编号:20400514 上传时间:2023-01-22 格式:DOCX 页数:55 大小:300.52KB
下载 相关 举报
尚学堂科技王勇讲Struts1Word格式.docx_第1页
第1页 / 共55页
尚学堂科技王勇讲Struts1Word格式.docx_第2页
第2页 / 共55页
尚学堂科技王勇讲Struts1Word格式.docx_第3页
第3页 / 共55页
尚学堂科技王勇讲Struts1Word格式.docx_第4页
第4页 / 共55页
尚学堂科技王勇讲Struts1Word格式.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

尚学堂科技王勇讲Struts1Word格式.docx

《尚学堂科技王勇讲Struts1Word格式.docx》由会员分享,可在线阅读,更多相关《尚学堂科技王勇讲Struts1Word格式.docx(55页珍藏版)》请在冰豆网上搜索。

尚学堂科技王勇讲Struts1Word格式.docx

hibernate

深入理解MVC模式

掌握Struts体系架构

掌握Struts开发流程

熟练掌握Struts的配置方法

从Servlet说开去

什么是Servlet?

如何编写Servlet?

如何映射Servlet?

相对路径与绝对路径的基本概念

如何基于Servlet编程?

JavaBeans

JavaBean是一种java类

JavaBean必须是具体的和公共的,并且具备无参构造器

JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露称为属性

JavaBean提供两种方法来访问Bean的内部状态:

访问器(getters)用来读JavaBenan状态-以小写get前缀开始,后跟属性名,属性名的第一个字母必须大写,返回值必须匹配相应修改器的方法的参数;

如果访问器返回boolean值,则使用is前缀开始,后跟属性名,属性名第一个字母必须大写。

修改器(setters)用来修改JavaBean状态,以小写set前缀开始,后跟属性名,属性名的第一个字线必须大写,修改器的返回值通常为void。

Servlet的简单使用

Index.jsp请求页面

<

body>

<

formaction="

servlet/testServlet"

method="

post"

>

<

inputtype="

text"

name="

username"

br>

submit"

value="

查询"

/form>

ahref="

a/b/b.jsp"

>

b.jsp<

/a>

/body>

请求到TestServlet.java中

importjava.io.IOException;

importjava.util.List;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

publicclassTestServletextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

protectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

//取得表单数据

Stringusername=request.getParameter("

);

UserManageruserManager=newUserManager();

ListuserList=userManager.findUserByName(username);

request.setAttribute("

userlist"

userList);

//转向到c.jsp,取出list中的数据

request.getRequestDispatcher("

/a/b/c/c.jsp"

).forward(request,response);

return;

}

}

根据表单数据从UserManager.java中获取数据

importjava.util.ArrayList;

publicclassUserManager{

publicListfindUserByName(Stringname){

ListuserList=newArrayList();

userList.add("

数据一"

数据二"

returnuserList;

在web.xml中配置servlet信息

servlet>

servlet-name>

TestServlet<

/servlet-name>

servlet-class>

com.bjsxt.servlet.TestServlet<

/servlet-class>

/servlet>

servlet-mapping>

url-pattern>

/servlet/testServlet<

/url-pattern>

/servlet-mapping>

转发到c.jsp中获取信息

%

ListuserList=(List)request.getAttribute("

out.println(userList);

%>

请求说明

MVC

MVC框架它分两种:

一种是面向请求驱动的(Struts1.x,Struts2.x,WebWork);

一种是面向事件驱动的(JSF)。

MVC实现原理

简单MVC模式小例子

搭建完后的格式

index.jsp发送请求页面

h1>

测试Servlet<

/h1>

hr>

user/queryUser.do"

user/addUser.do"

添加"

user/modifyUser.do"

修改"

error.jsp请求失败页面

数据出错!

seccess.jsp请求成功页面

%@pageimport="

java.util.*"

List<

String>

userList=(List<

)request.getAttribute("

Web.xml配置文件

?

xmlversion="

1.0"

encoding="

UTF-8"

web-appxmlns:

xsi="

http:

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

xmlns="

xmlns:

web="

xsi:

schemaLocation="

id="

WebApp_ID"

version="

2.5"

display-name>

test_servlet2<

/display-name>

welcome-file-list>

welcome-file>

index.html<

/welcome-file>

index.htm<

index.jsp<

default.html<

default.htm<

default.jsp<

/welcome-file-list>

*.do<

/web-app>

action_config.xml配置文件

action_config>

actionpath="

/user/addUser"

class="

com.bjsxt.servlet.action.AddUserAction"

success="

success.jsp"

/action>

/user/queryUser"

com.bjsxt.servlet.action.QueryUserAction"

/user/modifyUser"

com.bjsxt.servlet.action.ModifyUserAction"

/action_config>

Action.java接口Action

packagecom.bjsxt.servlet.action;

publicinterfaceAction{

publicStringservice(HttpServletRequestrequest,HttpServletResponseresponse);

AddUserAction.java实现Action接口的添加类

importcom.bjsxt.servlet.UserManager;

publicclassAddUserActionimplementsAction{

@Override

publicStringservice(HttpServletRequestrequest,

HttpServletResponseresponse){

List<

userList=userManager.addUser(username);

return"

/seccess.jsp"

;

ModifyUserAction.java实现Action接口的修改类

publicclassModifyUserActionimplementsAction{

userList=userManager.modifyUser(username);

QueryUserAction.java实现Action接口的查询类

publicclassQueryUserActionimplementsAction{

userList=userManager.findUserByName(username);

UserManameger.java根据页面信息取得数据

packagecom.bjsxt.servlet;

//添加用户

publicList<

addUser(Stringname){

userList=newArrayList<

();

添加数据一"

添加数据二"

}

//查找用户

findUserByName(Stringname){

查找数据一"

查找数据二"

//修改用户

modifyUser(Stringname){

修改数据一"

修改数据二"

TestXML.java取得配置文件action_config.xml文件

importjavax.xml.parsers.DocumentBuilder;

importjavax.xml.parsers.DocumentBuilderFactory;

importjavax.xml.parsers.ParserConfigurationException;

importorg.w3c.dom.Document;

importorg.w3c.dom.Element;

importorg.w3c.dom.NodeList;

importorg.xml.sax.SAXException;

publicclassTestXML{

publicstaticStringgetStr(StringuiPath){

Class<

TestXML>

c=TestXML.class;

Stringfilename=c.getResource("

"

).getPath().toString();

filename=filename.substring(0,filename.indexOf("

classes"

)+"

.length()+1)+"

action_config.xml"

StringstrClass="

Documentdocument=null;

DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();

DocumentBuilderbuilder;

try{

builder=factory.newDocumentBuilder();

document=builder.parse(filename);

}catch(ParserConfigurationExceptione){

e.printStackTrace();

}catch(SAXExceptione){

}catch(IOExceptione){

}

NodeListlist=document.getElementsByTagName("

action"

for(inti=0;

i<

list.getLength();

i++){

Elementtag=(Element)list.item(i);

Stringpath=tag.getAttribute("

path"

if(uiPath.equals(path)){

strClass=tag.getAttribute("

class"

}

returnstrClass;

TestServlet.java总体进分发及转向

importjava.lang.reflect.InvocationTargetException;

importjava.lang.reflect.Method;

protectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

StringforwardPath="

/error.jsp"

StringcurrentURI=request.getRequestURI();

//System.out.println("

currentURI"

+currentURI);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

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