struts快速入门——笔记

u      Struts的几个基本概念

1.        struts是一个框架(frameset)

2.        struts是一个web框架

3.        框架提高了程序的规范的同时,也约束了程序员的自由

4.        struts是一个开源的框架

u      Struts为什么有?


因为我们对mvc的理解不同,可能造成不同公司写程序的时候,规范不统一,这样不利于程序的维护和扩展/开发效率…,所以我们有必要用一个统一的规范来开发项目。→框架struts

 

 

u      Struts的运行原理

我以一个用户登录来讲解原理→图

原理图如下:

 

u      Struts的快速入门案例(以用户登录验证来演示)

 

我们使用手动配置的方式来开发第一个struts项目(基本功)

步骤:

1.       先创建一个web工程

2.       把struts的开发包引入到web工程

3.       编写login.jsp

4.       编写ActionForm(用户表单)和Action(小队长→登录小队长)

5.       编写struts-config.xml文件,该文件用于配置Action和ActionForm,对应关系,跳转位置….,一般我们放在/WEB-INF目录下

6.       编写wel.jsp和err.jsp

7.       配置web.xml文件,该文件用于配置ActionServlet

8.       测试

 

下面我们一起看看struts细节的东西:

①    走一次全过程

②    尤其注意表单中的set和get命名

 

课堂练习:

自己完成一次手动配置用户登录验证系统

 

增加功能和细节:

1.       在登录成功的页面显示登录成功后的人名

2.       使用filter配合struts解决中文乱码问题

步骤如下:开发一个过滤器,并设置request.setCharacterEncoding(“utf-8”);

MyFilter1.java

public class MyFilter1 extends HttpServlet implements Filter {

	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain arg2) throws IOException, ServletException {
		// TODO Auto-generated method stub
		arg0.setCharacterEncoding("utf-8");//设置接收编码
		
		arg2.doFilter(arg0, arg1);//必须有这句话
		
		arg1.setContentType("text/html;charset=utf-8");
	}

	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		
	}

}

在web.xml中重新配置过滤器:

<!-- 配置filter -->
	<filter>
		<filter-name>MyFilter1</filter-name>
		<filter-class>com.hsp.filters.MyFilter1</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>MyFilter1</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

3.       struts-conifg.xml的配置

Scope这个属性,默认将表单对象存入session对象域中

4.       每个action都是单态的,包括ActionServlet

单态是指:在整个程序运行的过程中,始终是一个对象

5.       struts-config.xml文件路径,不一定非要放在/WEB-INF,可以自己选择,只要在web.xml中配置好路径即可

6.       问:在一个项目中,是否可以有多个struts-config.xml?

答:可以有,如果有多个配置文件,在web.xml文件可以这样配置

<!-- 配置ActionServlet -->
	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
	 	<!-- 配置struts-config,如果有多份配置文件,则用,分隔 -->
	 	<init-param>
	 		<param-name>config</param-name>
	 		<param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config-2.xml</param-value>
	 	</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

7.       增加到数据库去验证该用户是否合法的功能

在mysql数据库中,增加一个用户表

创建domain对象

 

 

u       使用工具开发struts项目

一、半手工:用工具导入struts开发包,自动完成相关设置,我们手工配置struts-config.xml文件即可,这里我们还是使用登录验证系统来学习

开发步骤:

1.       建立web工程

2.       导入struts开发包


点击finish,就会自动的引入struts开发包并自动生成struts-config.xml和web.xml文件,并完成一些配置

3.       开发login.jsp

4.       开发action和actionForm

5.       手动配置struts-config.xml

6.       开发ok.jsp和err.jsp

7.       测试

8.       从上面的开发过程,可以提高我们的开发效率

 

二、全自动:完全依赖myeclipse开发struts,还是以用户登录验证来讲解

1.  创建web工程

2.  引入struts开发包

3.  开发login.jsp

4.  开发action和表单actionForm

创建表单截图


创建action截图

5.        编写ok.jsp和err.jsp

6.        在struts-config.xml的design页面设置个页面的关系

7.        在action中添加你的业务逻辑

8.        测试

 

 

课堂练习:使用工具开发struts登录系统

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、准备工作及实例 3 1.解压struts-2.1.6-all.zip 3 2.六个基本包 3 3.初识struts2配置文件 4 (1).web.xml文件 4 (2).struts.xml文件 4 (3).struts.properties(参default.properties) 4 (4)struts-default.xml 4 (5)其它配置文件 4 4.让MyEclipse提示xml信息 4 5.如何使用alt+/提示 4 6.实例 4 7.开启struts2自带的开发模式常量 6 8.vo传参模式 7 9.ModerDriven传参模式(不建议采用) 7 10.为什么要使用struts2代替struts1.x 7 二、struts.xml配置及例程 7 1.配置文件的优先级 7 2.配置形式 8 3.package配置相关 8 4.分工合作include:指定多个配置文件 10 5.tomcat认证访问 10 6.初识拦截器 11 7.Action中的method属性 12 8.使用ForwardAction实现页面屏蔽。 13 8.使用default-Action配置统一访问 14 小结Action 14 9.使用通配符 14 10.使用0配置:ZERO Annotation 15 11.Result配置详解 15 探讨type类型: 16 Type类型值 16 作用说明 16 对应类 16 chain 16 用来处理Action链 16 com.opensymphony.xwork2.ActionChainResult 16 dispatcher 16 用来转向页面,通常处理JSP 16 org.apache.struts2.dispatcher.ServletDispatcherResult 16 redirect 16 重定向到一个URL 16 org.apache.struts2.dispatcher.ServletRedirectResult 16 redirectAction 16 重定向到一个Action 16 org.apache.struts2.dispatcher.ServletActionRedirectResult 16 plainText 16 显示源文件内容,如文件源码 16 org.apache.struts2.dispatcher.PlainTextResult 16 freemarker 16 处理FreeMarker模板 16 org.apache.struts2.views.freemarker.FreemarkerResult 16 httpheader 16 控制特殊http行为的结果类型 16 org.apache.struts2.dispatcher.HttpHeaderResult 16 stream 16 向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据。 16 org.apache.struts2.dispatcher.StreamResult 16 velocity 16 处理Velocity模板 16 org.apache.struts2.dispatcher.VelocityResult 16 xslt 16 处理XML/XLST模板 16 org.apache.struts2.views.xslt.XSLTResult 16 全局result: 17 动态Result:了解 18 12.异常处理 18 三、在Action获取Scope对象 19 方式一、与Servlet解耦合的非IOC方式 20 方式二、与Servlet解耦合的IOC方式 21 方式三、与Servlet耦合的非IOC方式 21 方式四、与Servlet耦合的IOC方式 22 四、OGNL与ValueStack(VS) 22 1.值栈入门 22 2.OGNL入门 24 3.普通方法访问 24 4.静态方法访问 24 5.默认类Math的访问 24 6.调用普通类的构造方法 25 7.集合对象初步 25 8.集合对象进阶 25 9.N语法top语法 26 10.获取Stack Context中的信息 26 11.总结$ # %的区别 27 12.总结OGNL[重点] 27 五、拦截器 28 1.概述strust2中的拦截器 28 2.自定义拦截器 28 方式一,实现Interceptor接口。 28 方式二、继承AbstractInterceptor抽象类 29 方式三、继承MethodFilterInteceptor类 30 3.使用来MethodFilterInterceptor灵活拦截 32 4.使用默认的execAndWait拦截器 33 5.
JavaWeb是一种用Java语言来开发动态网页的技术栈。它包括了Servlet和JSP两个主要的技术组件。JavaWeb的开发速度很快,功能也很强大,并且具有跨平台的特点。 JavaWeb可以用来开发静态网页和动态网页。静态网页是指提供给所有人看的数据始终不会发生变化,而动态网页是指提供给所有人看的数据会随着时间和地点的不同而发生变化。大部分网站都属于动态网页。在Java中,动态网页开发的技术统称为JavaWeb。 JavaWeb采用B/S架构,即浏览器和服务器之间的交互。相比之下,C/S架构是客户端和服务器之间的交互。JavaWeb被广泛使用,因为它可以处理高并发、高性能和高可用性的问题,并且语法类似于ASP。 如果你想快速入门JavaWeb,你可以首先学习Servlet和JSP的基本语法和用法。Servlet是JavaWeb中的核心组件,用于处理请求和响应。JSP则是一种在HTML中嵌入Java代码的技术,可以方便地生成动态内容。你可以通过学习这两个组件的基础知识,了解JavaWeb的基本工作原理和开发流程。然后,你可以进一步学习JavaWeb框架,如Spring MVC和Struts,以提高开发效率和代码质量。还可以学习数据库连接和操作、前端技术等相关知识,以完善你的JavaWeb开发技能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [JavaWeb入门](https://blog.csdn.net/Massimo__JAVA/article/details/124496596)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值