欢迎光临散文网 会员登陆 & 注册

项目分工和制作方法,易买网,规格说明书 ,STRUTS2,正则表达式老师答案【诗书画唱】

2021-05-07 15:12 作者:诗书画唱  | 我要投稿

目录:

Java Web小组项目:网上商城项目个人制作过程

个人想法

先要把数据库写好

先做出标准的,再做出创新的


20210111_STRUTS2AJAX支持的作业(因为比较基础简单,所以这些是留给读者的作业)


正则表达式题目和个人或老师给出的答案


表单自动提交和ajax方式提交作业


反射作业


STRUTS2基本配置作业


注解作业


STRUTS2分模块和包配置方法作业


STRUTS2action配置作业


STRUTS2通配符配置和servletAPI调用方法作业


STRUTS2result配置和类型转换作业


STRUTS2附件上传和下载的作业


自己多BaseDao万能Dao的机智改进,变得更通用


Java web易买网项目要求,个人的合作分工等的经验技巧分享,网上商城系统

项目要求


个人的合作分工等的经验技巧分享


网上商城系统需求分析规格说明书 


Java web 作业:实现万能DAO中的修改和删除功能,商品模块的增删改查

Java Web小组项目:网上商城项目个人制作过程

个人想法

做出很多版本,版本越多越好,之后选其中的好的版本给别人看,可以把所有版本综合成一个版本。先做出框架,骨架,之后填充。无论什么事情,想做好都要先把骨架做好,之后填充。


做事一步一步地记录,截图到专栏,让自己的思路更加的清晰等。




先要把数据库写好


先要把数据库写好(个人的经验,先根据图析,大致地设表,我认为表的数量越少越好,可以把2张表的内容合在一列,之后写代码会很轻松,之后可能根据需求变多而给表添加或修改列名等内容):



先做出标准的,再做出创新的

先做出标准的,再做出创新的。学会复制一些为自己所用,节省时间,但不可以抄袭,要有自己的创新,原创。用上一些别人的设计,设置等。很多设计等可以纯原创,其他的大家都在复制的公用部分可以复制等等。





____


20210111_STRUTS2AJAX支持的作业(因为比较基础简单,所以这些是留给读者的作业)

创建Book表,包含有id,name(名字),author(作者),content(内容)四个属性。

在这个表中插入至少五条数据。

使用MVC模式实现页面一打开,将所有的书名拼接成一个下拉框

要求使用json-plugin.jar包实现。

bean

dao

action




正则表达式题目和个人或老师给出的答案


1、判断一个五位数字是否是回文数字。(子表达式,捕获,反向引用)12321 56965


2、用js写一个函数,判断字符串是否是这样组成的:第一个必须是字母,后面可以是字母、数字、下划线,总长度为5-20。如果符合条件返回1,否则返回0。函数原型:function checkString(str)



3、以下函数的功能是查询浏览器url中字符串参数,请补全代码

function parseQueryString(name) {

    var regexS = "[\\?&]" + name + "=([^&#]*)";

    var regx = new RegExp(regexS);

    var rs = regx.exec(http://localhost:8080/demo/?act=admin&pwd=123);

    if(rs == null) {

        return “”;

    }else{

        return ______________;  

    }

}

4、用正则表达式实现JS变量命名规则


5、“我的银行账号是xxxxx,我的电话号码是0731-888888”,将这段文本中的区号提取出来。

6、从一段文本中找到身份证号码,然后将生日提取出来。

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script>

//判断一个五位数是否是回文数字

var num = '12341';

//方法一

//获取首位和末尾的数字

var n1 = num.charAt(0);

//alert(n1);

var n2 = num.charAt(num.length - 1);

//alert(n2);

var n3 = num.charAt(1);

var n4 = num.charAt(num.length - 2);

if(n1 == n2 && n3 == n4) {

//alert('是回文数字');

} else {

//alert('不是回文数字')

}

//方法二:正则表达式实现

//找出字符串中出现的四个连续的相同的字母

//var reg2 = /([a-zA-Z])\1{3}/;

//alert(reg2.test('1onennncp'));

var reg1 = /(\d)(\d)\d\2\1/;

//alert(reg1.test(num));

//输入任意位数的数字,判断它是否是一个回文数字


//第一个必须是字母,后面可以是字母、数字、下划线,

//总长度为5-20。如果符合条件返回1,否则返回0。

function checkString(str){

//var reg = /^[a-zA-Z]\w{4,19}$/;

// if(reg.test(str)) {

// return 1;

// } else{

// return 0;

                return /^[a-zA-Z]\w{4,19}$/.test(str) ? 1 : 0;

}


//alert(checkString('a_33fnep666'));

//?act=admin,&pwd=123

function parseQueryString(name) {

//创建了一个正则表达式对象

    var regexS = "[\\?&]" + name + "=([^&#]*)";

    var regx = new RegExp(regexS);

    var rs = regx.exec('http://localhost:8080/demo/?act=admin&pwd=123&sex=男');

    if(rs == null) {

        return '';

    }else{

        return rs[1];

    }

}

//alert(parseQueryString('sex'));


//JS变量命名规则:必须以数字字母下划线和$组成,不能以数字开头

var reg2 = /^[a-zA-Z\$_][\w\$]*$/;


var s = '我的银行账号是xxxxx,我的电话号码是0731-8888888';

var reg3 = /(0\d{3})\-\d{7}/;

var res = reg3.exec(s);

//console.log(res[1]);


var sr = '我的身份证号码是430108198712310014。';

var reg4 = /\d{6}(\d{8})\d{4}/;

alert(reg4.exec(sr)[1]);

</script>

</head>

<body>


</body>

</html>







表单自动提交和ajax方式提交作业

1、创建一个Product类,包含商品名称,价格和id。

2、实现商品类的新增功能。要求使用两种方式实现:有页面刷新(跳转到新增成功页面)和无页面刷新(就弹出alert('新增成功'))。

必须将表单验证函数添加进行,商品名称的长度在3到30之间。参数的传递使用jquery提供的serialize函数实现。



反射作业

熟悉通过反射技术创建对象,获取field,method和constructor的方法,以及反射调用的方法。




STRUTS2基本配置作业


1、创建一个Action类,跳转到login.jsp页面

2、创建一个Action类,在后台打印当前时间。

3、创建一个Action类,跳转到jsp页面,在页面显示当前时间。

4、创建一个Action类,在后台打印随机产生的数值。

5、创建一个Action类,跳转到jsp页面,在页面随机显示一个数字。





注解作业

1、通过注解创建一套军旗系统。工兵,排长,连长,营长,团长,旅长,师长,军长,司令,军旗,地雷

rank就是军衔,remove为1表示可以移动,0不可以移动,2可以自由移动

@Info(rank="1",remove="1")

public class Pz{

}

@Info(rank="2",remove="1")

public class Lz{

}


@Info(rank="999",remove="0")

public class dl{//地雷不可以移动

}


2、通过注解来实现新增删除功能,新增就照代码敲一遍,自己再实现删除功能。(选做)


STRUTS2分模块和包配置方法作业


1、创建两个项目,项目中包含学生stu模块,科目sub模块,请引入struts2项目的分模块配置。(用两种方法配置)

2、PPT后的两道题:

在struts2框架中,配置一个命名空间(namespace属性)为”/”的包(package)和一个命名空间为”test”的包。分别在两个包下创建两个不同的action,它们的name属性都是testAC。

在浏览器中分别访问如下的地址,观察调用哪个action。

1、http://localhost:8080/mypro/kkk/testAC.action

2、http://localhost:8080/mypro/test/testAC.action

3、http://localhost:8080/mypro/testAC.action

将第一个namespace的值“/”修改为“”再进行调用。

STRUTS2action配置作业

1、在学生模块中,创建一个StuAction,请在这个action中实现跳转到学生新增页面,学生修改页面和学生列表页面的功能。

2、在科目模块中,创建一个SubjectAction,在这个action中实现跳转到科目列表,科目新增和科目修改的功能。(实现Action接口)

3、在商品模块中,创建一个ProductAction,在这个action中实现跳转到管理页面,新增,商品详情页面功能。(继承ActionSupport类)

要求三种配置方法都使用上。




STRUTS2通配符配置和servletAPI调用方法作业


1、根据以下的通配符配置创建正确的action类(至少创建3个),并进行跳转;

<action name="*_*" class="com.jy.action.{1}Action" method="{2}">

</action>

<action name="to*" class="com.jy.action.NaviAction" method="{1}">

    <result name="{1}">/{1}.jsp</result>

</action>

<action name="*_*Ac" class="com.jy.action.{1}Action" method="{2}">

    <result name="{1}">/{2}.jsp</result>

</action>


STRUTS2result配置和类型转换作业


1、创建一个jsp页面,输入框中输入网址例如baidu,点击跳转按钮后能够跳转到输入的网页去,要求使用struts2的action实现。

2、使用struts2框架实现登录功能,不用连接数据库,要求不能出现request和response对象。




STRUTS2附件上传和下载的作业



1、实现注册功能,要求输入用户名和密码以及上传一张照片。

创建一个User表,包含act,pwd和img(存放图片路径)属性

注册成功以后,能够将账号密码和图片路径存放到数据库中,而且在跳转到的页面中显示账号和个人头像。

2、按照课堂代码,实现附件下载功能,





自己多BaseDao万能Dao的机智改进,变得更通用




Java web易买网项目要求,个人的合作分工等的经验技巧分享,网上商城系统


项目要求

1、要求有一条完整的业务线:

注册-登录-浏览商品-加入购物车-结算下订单-付款-评价

2、项目答辩时必须要有PPT。

3、每个人都要写代码。每个人都要分一个模块。

4、界面可以自己手写,也可以去网站下载一个模板。





个人的合作分工等的经验技巧分享


建一个“项目组”的QQ群,自己问组员会什么,擅长什么,然后分配事情给组员。如果是写后台,因为要和前台代码连接,所以可以HTML等部分写出必要的就可以,别的组员写好JS,HTML等很美观的界面,功能等后,我就让其发QQ群,复制和改部分代码到jsp部分等中。

界面美化的话,可以到https://www.17sucai.com/找,可仿写起中的源文件代码等或有自己的灵感,创意且有好思路地写。写项目的话每个组员最好都把全部都做完,然后再进行整合,进行优劣对比,留下优,有些觉得太多了,那么就只能分工。







网上商城系统需求分析规格说明书 






Java web 作业:实现万能DAO中的修改和删除功能,商品模块的增删改查


实现万能DAO中的修改和删除功能(选做)

实现一个商品模块的增删改查的功能,要求写在一个servlet中。必须要连接数据(必做)





一、页面跳转方式

二、传参方式


在页面中需要输入日期框的时候,我们不能够直接写三个文本输入框,可以使用脚本文件(从网上面下载)来引入一个日期框(JS文件)

在eclipse项目中使用日期框:

1、将日期脚本文件拷贝到工程WebContent目录下(可以创建子文件夹)

2、创建jsp页面,在页面中引入日期脚本文件

"3、在页面中编写如下的代码:

<input type=""text"" readonly 

            onclick=""new Calendar().show(this);"" />"


页面跳转的方式有两种:

1、转发

2、重定向

"区别:

1、浏览器地址栏显示的最后的地址不同,转发就显示前面的请求的地址,而重定向会显示最后跳转的页面的地址

2、转发就是一次请求,重定向是两次请求"

3、重定向可以跳转到项目外面的页面去

项目中一般建议使用转发方式跳转


JS代码中优先使用单引号


传参方式:

"1、浏览器地址栏中直接传入

http://localhost:8888/j190802/demo.jsp?act=admin&pwd=123&sex=男"

2、表单提交


一、getParameter和getAttribute的区别。

二、四大作用域:pageContext,request,session,application

三、EL表达式


getAttribute和setAttribute方法

getParameter和getAttribute的区别:

1、getParameter返回值是String,getAttribute返回值是Object

2、getParameter方法是一个单身狗,没有对应的setParameter方法

如果调用setAttribute方法,后面的程序中就必定会调用getAttribute方法

3、getParameter的使用场景:表单提交时获取数据,url路径中夹带的参数

getAttribute的使用场景:页面转发时调用。


pageContext,session和application跟request和response一样,可以直接拿过来使用

"pageContext,request,session以及application叫jsp页面的四大作用域,指的就是你放在这些对象中的变量在哪个范围内有效。

四大作用域对象都有setAttribute方法和getAttribute方法。"

pageContext:表示放在这个对象中(调用setAttribute方法)的变量在本JSP页面有效

request:表示放在同一次请求中的变量有效

session:表示同一次会话中的变量有效

application:只要不重启服务器,放在里面的变量就会一直有效


request:当进行页面转发时传递参数

session:当实现购物车功能时就需要使用session


购物车:需要访问很多的页面和发送很多的搜索请求,购物车中的数据必须要一直有效。





一、作业讲解

二、EL表达式


EL表达式就是JSP中的一种特有的语言,可以简化我们的java代码。

EL表达式写法:${表达式},注意:{}中间只能是表达式,不能是语句

EL表达式有两种运算符:.和[](JS对象的运算符)

EL表达式可以写在JSP页面的任何地方


"EL表达式中的变量的显示过程:会依次从pageContext,request,session以及

applicaion四个作用域中找这个变量,一旦找到了就返回这个值,如果四个作用域都找不到,就显示为""""(不是显示为null)"


一、EL表达式显示map和list中的值。

二、通过EL表达式加载表单数据,修改数据时使用


${}中比较两个字符串是否相等,可以使用==也可以使用eq

${message == "success" ? "登录成功" : "登录失败"}

${message eq "success" ? "登录成功" : "登录失败"}


复习三大容器:List,Map,Set

List,Map和Set都是接口,所以不能够直接new出来的

List最常用的实现类:ArrayList

Map最常用的实现类:HashMap

Set最常用的实现类:HashSet


一、EL表达式中的范围变量

二、表单提交后的EL表达式

三、EL表达式

如果是通过表单方式提交的数据,那么通过EL表达式获取就必须使用param隐式对象

EL表达式中的范围变量:

pageContext:pagescope

request:requestscope

session:sessionscope

application:applicationscope

上面四个scope变量都是用来替换getAttribute方法的

而param隐式对象就是用来替换getParameter方法的


读取数据库中的表中的数据,将这些数据组装成一个下拉框。

1、创建表eduinfo

2、在java代码中创建一个这个表对应的javabean,它的名字跟你的表名是一样的Eduinfo

3、根据eduinfo表中的列来创建Eduinfo类的属性,你的表中有几个列javabean中就有一个属性,而且属性名要跟表的列名一致。

4、创建表对应的数据访问类(dao),EduinfoDao


一、登录功能


知道实现一个功能的步骤

1、在mysql数据库中创建一个表user,表结构:id,act,pwd

"2、搭建项目,需要创建一些包:

com.jy.bean:com/jy/bean,对应每个表中的一条数据的,你有几个表就创建一个bean

com.jy.dao:com/jy/dao,负责对表进行增删改查的,你有一个表就创建一个dao"

"com.jy是怎么来的:根据你所在的公司的网址来确定,www.jy.com,你的包名就将网址

倒过来写就可以了com.jy"

"3、将数据库的配置文件db.properties放到src目录下,同时将数据库的驱动包拷贝到

工程的lib目录下。将数据库连接工具类拷贝到工程目录下"

4、创建login.jsp页面

"5、设计登录的action即doLogin.jsp页面,因为这个页面没有需要展示的东西,所以

我们将它的所有的html代码都删除。然后将doLogin.jsp的相对路径写到表单的actiion属性中。"

6、实现登录的业务,编写登录的代码


在项目中,一个方法的功能越简单越单一就越能够复用


二、登录注册功能:验证码,人脸识别,短信验证

普通的注册:输入账号密码(输入两次),生日,学历,爱好等

1、创建reg.jsp页面

2、设计一个业务处理页面doReg.jsp,将表单中的action设置为这个业务处理页面

3、表单验证,保证用户输入的数据是正确的,不会破坏后台的数据库中的数据


一、HTTP协议

二、servlet


HTTP协议:超文本传输协议,文本代表字符串的意思,超文本代表图片,音频和视频

游戏的鼻祖:泥巴游戏mud,它是一个纯的文字游戏。

"网络上面发送这些超文本时,就必须要遵守一定的规则,这样其他的人才能够接收到

的超文本内容,这个规则就叫超文本传输协议"

Javaweb就遵循HTTP协议

HTTP协议有两个非常重要的请求方式:get请求方式和post请求方式

"404:找不到你需要的资源(jsp页面,html页面以及servlet),访问路径如果不会就

会报这个错误"

500:表示后台代码出现了错误(java代码)

200:表示请求成功了


"Servlet:由java代码编写的一个小服务程序,它的作用非常的广泛,可以实现非常多

的功能,登录注册增删改查,附件上传下载,导出excel文件,servlet其实就是一个java类。"

"使用servlet:servlet虽然是一个java类,但是不能够直接运行。它必须启动tomcat服

务器以后才能运行。"

创建一个servlet,运行它的时候在后台打印Hello world.

1、创建一个java类,让它继承HttpServlet类,重写doGet和doPost方法。

2、打开web.xml配置文件,对servlet进行配置。


快捷配置一个servlet:


当你在浏览器地址栏直接输入一个servlet的访问路径时,调用的是doGet方法

当在表单中运行一个servlet时,会根据表单的method属性来决定是调用doPost方法还是doGet方法。

post提交方式提交表单数据时,提交的数据不会显示在浏览器地址栏中

get提交方式提交表单数据时,提交的数据会显示在浏览器地址栏中。

post提交方式比较安全的。

get提交方式提交的数据量比较小

post提交方式提交的数据量比较大


一、servlet生命周期

二、init和destroy

三、loadonstartup servlet

四、servlet页面跳转方式


创建servlet的方式:

1、创建一个java类,让他继承HttpServlet,然后在web.xml中添加一段配置代码。

2、new servlet就可以创建出来


在项目中,创建servlet实例的时机:

"1、当项目启动以后的第一个用户请求这个servlet时,就会new出一个servlet实例,

当这个用户使用完以后,servlet实例不会消失,会一直保存在项目中,当下一次有用户再次请求这个servlet的时候,就不会再new这个servlet,会直接使用前面保存在项目中的servlet实例。"

2、随着项目启动,会自动的创建servlet


"第二个用户也是访问这个servlet,不会再new出一个servlet实例了,它会直接使用第

一次new出来的servlet实例"

loadonstartup servlet:随着项目的启动会自动运行的


通过servlet来进行页面跳转:

创建一个LoginServlet,运行这个servlet以后能够跳转到login.jsp页面


jsp页面每一个页面其实都是一个servlet

jsp页面转换成servlet类以后的源代码可以在tomcat服务器中的work目录下找到


jsp页面:在html代码中写java代码

servlet:在java代码中写html代码


实现重名验证


一、隐藏表单域

二、servlet中传递参数的方法

三、servlet中的四大作用域

四、jsp和servlet之间的关系(代码块)


jsp就是一个servlet,jsp页面专门负责展示内容,servlet专门用来做业务处理。

login.jsp:显示登录页面

doLogin.jsp:必须使用servlet来代替了,专门用来处理登录业务逻辑的


<%%>中的代码其实就是写在service方法中的代码

<%=%>中的代码也是写在service方法中的代码,就是一个打印变量的语句

<%!%>中的代码其实就是servlet的成员属性

<%----%>


1、url传参方式:通过在访问地址后面添加上?和&方法

访问地址:http://localhost:8888/j190802/ps?act=admin&pwd=123

2、表单传参方式:通过表单的action属性调用servlet进行传参


隐藏表单域:

"当我们修改数据时,id是不能够修改。id是不应该显示在页面上,但是修改数据提交

表单时又需要这个id值。"


一、servlet中的四大作用域

二、购物车功能实现


幸存者偏差


jsp页面有四大作用域:pageContext,request,session,application

jsp就是一个servlet,所以servlet中肯定也有四大作用域


pageContext在servlet中就相当于this

request就是方法的参数,两者一样

session在servlet中通过request.getSession()的方法获取

application在servlet中通过this.getServletContext()的方法获取


实现购物车功能

"登录网站,打开商品列表界面,选择你喜欢的商品进行浏览(看很多页面),一旦发现

喜欢的商品,就要将商品放入到购物车中。购物车中的数据还在一直存在"

"要发送很多的请求,最好将购物车中的商品放到session中,这样的话不管你发送多少

次请求,购物车中的数据都不会消失掉。"

怎样存放商品:商品的详细信息(订单对象),商品数量,最终选择使用map来存放数据

List,Set,Map


一、实现个人游戏管理系统

1、创建表:每个表应该有一个与业务无关的主键(int类型)

2、项目的准备工作:导入mysql数据库的驱动包和db.properties文件(src目录下)

"3、搭建一下项目的框架:项目中的代码不是写在一个类里面运行就可以了,我们应该

把代码有条理的把它写在不同的java类中,让他们一起工作。"

简单分层处理:

com.jy.bean:存放表对应的数据模型的。每个表都对应一个bean类

com.jy.dao:用来对表进行增删改查的类。每个表都对应个dao类

com.jy.controller:就是存放servlet的。

com.jy.utils:存放项目中的一些常用工具类的,创建数据库的连接工具类

4、写界面:创建游戏管理查询界面,游戏列表界面和游戏新增界面

5、实现按钮的跳转页面的功能,具体的查询新增功能暂时不需要实现

6、编写后台业务代码


jsp页面只负责做展示,尽量不要把业务代码写在jsp页面上。


一、正则表达式

JS和JAVA等多种语言中都可以使用正则表达式,而且语法规则都一样

正则表达式中的特殊字符:

?:表示出现的次数是1或者0,+:出现的次数不能为0,*:可以出现任意多次

^以什么开头,$以什么结尾

.表示换行符\n以外的任何字符

正则表达式中的元字符


一、过滤器

javaweb中,除了servlet以外,还有一些比较重要的组件filter,listener

servlet:java小服务程序

filter:过滤器

listener:监听器

javaweb的三大组件,他们都是一个java类。


登录就直接看到个人中心页面。在访问这个页面之前,需要检查你是否有登录?


请求regServ之前,会先执行过滤器中的代码。


第一个过滤器FirstFilter

第二个过滤器SecondFilter


FirstFilter中的doFilter方法中的代码

SecondFilter中的doFilter方法中的代码

regServ中的代码

SecondFilter中doFilter方法中的代码

FirstFilter中doFilter方法中的代码


创建登录的servlet,创建一个注册的servlet,创建一个index.jsp页面

请创建一个过滤器,当执行登录的servlet时,才运行过滤器中的代码。

请创建另外一个过滤器,当执行jsp页面时才会运行过滤器中的代码。


进行匹配,如果servlet的url路径跟Filter中的路径匹配,就会执行这个过滤器中的代码

过滤器的url路径匹配:

1、/*运行项目中的任何servlet和jsp页面都会执行对应的filter

2、*.jsp运行项目中的任何jsp页面都会执行对应的filter

3、/ls运行项目中路径中包含有ls的servlet就会执行对应的filter


淘宝网:login.jsp,cart.jsp,center.jsp

当在浏览器地址栏输入login.jsp页面的访问路径时,可以直接跳转到index.jsp页面。

当在浏览器地址栏输入cart.jsp,center.jsp页面,不能直接跳转过去,要先跳转到登录页面才可以。


通过过滤器,实现了所有的servlet和jsp页面的乱码处理功能

实现了强制登录的功能(拦截非法用户的功能)

如果发现某一类servlet中有重复的代码,就可以考虑使用过滤器


一、监听器Listener:其实就是一个java类


1、监听Session、request和application的创建和销毁

HttpSessionListener,ServletContextListener,ServletRequestListener

2、监听对象属性变化

HttpSessionAttributeListener,ServletContextAttributeListener,ServletRequestAttributeListener

3、监听Session内的对象

HttpSessionBindingListener,HttpSessionActivationListener


跟js中的事件一样:

项目一启动就要打印一句Hello world

方法一:使用loadonstartup servlet可以实现

方法二:使用Listener实现,当项目启动时马上运行代码


ServletContextListener用来监控application对象的创建和销毁的监听器

当启动一个javaweb项目时,会创建唯一的一个application对象


servlet,filter和lister都需要在web.xml文件中进行配置。


创建listener的步骤:

1、创建listener类

2、在web.xml文件中进行配置


代码缓存时可以使用监听器:ServletContextListener


统计本网页的访问次数。

统计在线人数。(必须使用HttpSessionListener,用来监视session对象的创建和销毁的)


"ServletRequestAttributeListener:当调用request对象的setAttribute方法时,会

运行这个监听器中的代码"


角色和权限:不同的角色登录到系统中看到的内容是不一样的,这个就叫权限问题。


一、附件上传

本地的拷贝:在同一台电脑上进行的操作。例如将一个文件从d盘拷贝到c盘。

在两台电脑之间进行的拷贝,或者通过网页的方式进行的文件的拷贝。


附件上传的步骤:

1、导包(附件上传的包有很多种,我们今天使用的是这些包中的一种)

2、创建附件上传的jsp页面

3、创建附件上传的servlet

在附件上传中,除了type="file"的input标签以外,其他的input的isFormField都是true


地址:http://192.168.43.208:8888/j1908021/index.jsp


一、上传图片后显示图片

二、附件下载


将需要下载的文件放到服务器上,然后客户端就可以通过访问网页来下载响应的文件。


1、将需要下载的文件放到服务器上去

2、导包(附件上传的包一样)

3、创建附件下载的jsp页面download.jsp

4、创建一个servlet实现附件下载功能


访问地址:http://192.168.43.208:8888/j1908021/download.jsp


一、泛型参数

二、实现万能DAO


一、整合servlet


登录功能,注册功能,修改密码:公共模块

商品新增,商品修改,商品查询,商品删除:商品模块

"将一些功能放到同一个servlet中执行。根据模块功能整合,也就是说将同一个模块中

的功能写在一个servlet中。"

怎么样将几个功能写在同一个servlet中,通过url传参的方式


项目分工和制作方法,易买网,规格说明书 ,STRUTS2,正则表达式老师答案【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律