1.1.1 需求:
1.1.2 数据库设计:
1.1.3 网上商城用户模块的代码实现:(前台)
1.1.3.1 编写一个通用的Servlet:
1.1.3.2 搭建开发环境:
传统方式的开发一个请求对应一个Servlet的:这样的话会导致一个模块的Servlet的过多,导致整个项目的Servlet的都会很多能不能做一个处理让一个模块致用一个Servlet的处理请求。?。
注册:HTTP://本地主机:8080 / store_2.0 / UserServlet方法=记数
登录:HTTP://本地主机:8080 / store_2.0 / UserServlet方法=登录
激活:HTTP://本地主机:8080 / store_2.0 / UserServlet方法=活性
商品查询所有:HTTP://本地主机:8080 / store_2.0 / ProductServlet方法=的findAll
商品查询某个:HTTP://本地主机:8080 / store_2.0 / ProductServlet方法= findById
传统:
[AppleScript的]
纯字幕:查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
public
class
UserServlet extends HttpServlet
{
public void service
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
/
/
接收参数
:
String methodName
=
request.getParameter
(
“method”
)
;
if
(
“regist”.
equals
(
methodName
)
)
{
regist
(
req
,
resp
)
;
}
else if
(
“login”.
equals
(
methodName
)
)
{
login
(
req
,
resp
)
;
}
}
public void regist
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
}
public void login
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
}
}
public
class
ProductServlet extends HttpServlet
{
public void service
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
/
/
接收参数
:
String methodName
=
request.getParameter
(
“method”
)
;
if
(
“findAll”.
equals
(
methodName
)
)
{
findAll
(
req
,
resp
)
;
}
else if
(
“findById”.
equals
(
methodName
)
)
{
findById
(
req
,
resp
)
;
}
}
public void findAll
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
}
public void findById
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
}
}
|
反射:
[AppleScript的]
纯字幕:查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
public
class
BaseServlet extends HttpServlet
{
public void service
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
/
/
http
:
/
/
localhost
:
8080
/
store_
2.0
/
UserServlet?method
=
regist
/
/
http
:
/
/
localhost
:
8080
/
store_
2.0
/
ProductServlet?method
=
findAll
String methodName
=
request.getParameter
(
“method”
)
;
/
/
获得Class
:
Class clazz
=
this.getClass
(
)
;
Method method
=
clazz.getMethod
(
methodName
,
HttpServletRequest.
class
,
HttpSerlvetResponse.
class
)
;
String
path
=
(
String
)
method.invoke
(
this
,
req
,
resp
)
;
if
(
path
!
=
null
)
{
req.getRequestDispatcher
(
path
)
.forward
(
req
,
resp
)
;
}
}
}
public
class
UserServlet extends BaseServlet
{
public String regist
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
return
“
/
login.jsp”;
}
public String login
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
return
“
/
index
.jsp”;
}
}
public
class
ProductServlet extends BaseServlet
{
public String findAll
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
}
public String findById
(
HttpServletRequest req
,
HttpServletResponse resp
)
{
}
}
|
【步骤一】:引入开发的jar包
* mysql 1
* c3p0 1
* dbutils 1
* beanutils 2
* jstl 2
*邮件1
* fileupload 2
【步骤二】:创建包结构:
【步骤三】:引入工具类和配置文件:
【步骤四】:编写通用的Servlet的: