java EE资料Word文件下载.docx
《java EE资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《java EE资料Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
![java EE资料Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/25/c9f3bc8e-4e01-43cd-bb2f-74ce9d337380/c9f3bc8e-4e01-43cd-bb2f-74ce9d3373801.gif)
forward>
可以重定向一个HTML文件、jsp文件或一个程序段。
<
动作把用户的请求转到另外的页面进行处理。
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。
forward和redirect的区别
关键是redirect是重新返回客户端,重定向,而forword是可以是内部把请求进行转向,不用返回客户端
6、JavaBean
JavaBean是一个可重复使用的软件组件,是遵循一定标准、用Java语言编写的一个类,该类的一个实例称为一个bean.
7、JSP页面中使用bean
<
useBeanid="
给bean起的名字"
class="
创建bean的类"
scope="
bean有效范围"
/>
8、求两个最大公因数的JSP程序
文件名称:
Bean.java
packageonlyfun.caterpillar;
publicclassGCDBean{
privateintnum1;
privateintnum2;
publicintgetGCD(){
intr=0;
while(num2!
=0){
r=num1%num2;
num1=num2;
num2=r;
}
returnnum1;
publicintgetNum1(){
publicvoidsetNum1(intnum1){
this.num1=num1;
}
publicintgetNum2(){
returnnum2;
publicvoidsetNum2(intnum2){
this.num2=num2;
beanTest.jsp
%@pagecontentType="
text/html;
charset=gb2312"
%>
html>
body>
useBeanid="
gcdBean"
class="
onlyfun.caterpillar.Bean"
setPropertyname="
property="
*"
最大公因数:
getPropertyname="
GCD"
/body>
/html>
form.htm
formname="
login"
method="
get"
action="
beanTest.jsp"
>
数字1:
inputtype="
text"
name="
num1"
br>
数字2:
num2"
submit"
value="
送出"
reset"
清除"
/form>
第3章用JSP连接数据库
1、JDBC与数据库的连接过程
1)、加载和注册JDBC驱动程序。
调用Class类的forName()方法加载数据库JDBC驱动程序。
2)、获得数据库连接。
调用驱动程序管理器(DriverManager对象)的getConnection()方法,返回Connection对象。
3)、使用Connection对象的createStatement()方法,创建一个Statement对象来将SQL语句发送到数据库。
4)、利用Statement对象执行SQL语句,对数据库进行查询更新。
5)、关闭连接,释放资源。
第4章Servlet简介
1、Servlet
Servlet是运行于服务器端的Java类,它在服务器端创建响应用户请求的对象,用于动态处理请求以及构造响应信息。
//2、用Servlet求该数的因数或该数范围的质数
importjava.lang.*;
importjava.io.*;
publicclassyinshu
{
publicstaticvoidmain(String[]args)
InputStreamReaderisr=newInputStreamReader(System.in);
BufferedReaderbr=newBufferedReader(isr);
intnumber;
intj;
System.out.print("
请输入一个不大于100的正整数:
"
);
try{
number=Integer.parseInt(br.readLine());
if(number>
0&
&
number<
101)
for(inti=1;
i<
=(int)Math.sqrt(number);
i++)
j=number/i;
if(i*j==number)
if(i!
=j)
System.out.print(i+"
"
+j+"
else
}
catch(IOExceptione)
System.out.println(e);
}
3、MVC设计模式
通过3个不同部分构造一个软件或组件的理想办法:
模型(Model)——用于存储数据的对象。
视图(View)——为模型提供数据显示的对象。
控制器(Controller)——负责具体的业务逻辑操作,即控制器根据视图提出的要求对数据做出处理,并将有关结果存储到模型中,同时负责让模型和视图进行必要的交互,当模型中的数据变化时,让视图更新显示。
第5章Struts2入门
1、Struts2
Struts2是一个基于MVC架构的Web开发框架。
它是以Webwork的设计思想为核心,再吸收Struts1的优点形成的。
2、Struts2的基本流程
①Web浏览器请求一个资源。
②过滤器Dispatcher查找请求,确定适当的Action。
③拦截器自动对请求应用通用功能,如验证和文件上传等操作。
④Action的execute方法通常用来存储和(或)重新获得信息(通过数据库)。
⑤结果被返回到浏览器。
可能是HTML、图片、PDF或其他。
3、用Struts2编写登录应用
其中有3个jsp页面:
登录页面login.jsp,登录成功页面welcome.jsp,登录错误页面error.jsp。
1)、login.jsp
<
%@pagecontentType="
charset=GB2312"
%>
%@tagliburi="
/WEB-INF/tlds/struts-html.tld"
prefix="
html"
html:
<
head>
title>
登录页面<
/title>
/head>
<
tablealign="
center"
border="
0"
tralign="
td>
font color="
red"
errors/>
/font>
/td>
/tr>
系统登录<
formaction="
/loginAction.do"
post"
focus="
username"
tr>
用户名:
textproperty="
密&
nbsp;
码:
password property="
password"
tralign="
right"
submitproperty="
value="
确定"
/html:
form>
<
/table>
Packagecom.xaccp.struts.web.action;
Importjava.until.Map;
PublicclassloginAction
{
PrivateStringlogName;
PrivateStringlogpass;
PublicStringgetlogName()
{
ReturnlogName;
PublicvoidsetlogName(StringlogName)
This.logName=logName;
PublicStringgetlogPass()
ReturnlogPass;
PublicvoidsetlogPass(StringlogPass)
This.logPass=logPass;
PublicStringexecute()
If(logName!
=null&
“admin”.equals(logName)&
logPass!
=
Null&
“123”.equals(logPass))
Return“success”;
Else
Return“error”;
Login.jsp
%@pagelanguage=”java”import=”java.until”pageEncoding=”UTF-8”%>
登录<
divalign=”center”>
formaction=l”login.action”method=”post”>
h2align=”center”>
用户登录<
/h2>
用户名:
inpuname=”loginName”>
密码:
inputname=”logPass”>
inputype=”submit”value=”登录”>
/div>
4、输入校验有两种实现方法:
1).手工编写代码实现。
2).基于XML配置方式实现。
5、用Struts2实现注册程序
6、Struts2验证工作原理
1)、拦截器首先检查Action组件是否实现接口Validateable,如果实现,则调用其validate()进行验证。
2)、在验证中如果发现非法数据则创建错误消息并通过ValidationAware接口中方法存放该错误消息。
3)、当validate()执行完毕,拦截器还要接着调用ValidationAware的hasErrors()方法,看是否有任何验证失败消息。
4)、如果系统中的fieldErrors存在错误信息(即存放错误信息的集合的size大于0),系统自动将请求转发至名称为input的视图。
如果系统中的fieldErrors没有任何错误信息,系统将执行action中的处理方法。
7、Struts2标签的分类