SpringMVC开发技术:MVC模式中Servlet控制器的简介和应用

if (dispatchUrl != null) {

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了海湖新免费建站欢迎大家使用!

RequestDispatcher rd = request.getRequestDispatcher(dispatchUrl);

rd.forward(request, response);

}

}

}

ControllerServlet的process方法处理所有输入请求。首先是获取请求URI和action。在案例中,action值只会是product_input或product_save。

Process方法中首先使用if代码进行判断。接着process方法执行如下步骤。

创建并根据请求参数构建一个表单对象。save操作涉及3个属件:name、Description和price。然后创建一个领域对象,并通过表单对象设置相应属性。

执行针对领域对象的业务逻辑,包括将其持久化到数据库中。

转发请求到视图(JSP页面)。

针对product_input,无需任何操作。

针对product_save,则创建一个ProductForm对象和Product对象,并将前者的属性值复制到后者。然后,将Product对象放入HttpS ervletRequest对象中,以便对应的视图能访问到。最后,process方法转到视图,如果action是product_input,则转到ProductForm.jsp页面,否则转到ProductDetails.jsp页面。

4.4.4 视图层

ProductForm.jsp

Add a product

Product Name:

tabindex="1">

Description:

name="description" tabindex="2">

Price:

tabindex="3">

value="Add Product">

ProductDetails.jsp

The product has been saved.

Details:

Product Name: ${product.name}

Description: ${product.description}

Price: $${product.price}

CSS郑州妇科咨询网站 http://www.zzkdfk120.com/

#global {

text-align: left;

border: 1px solid #dedede;

background: #efefef;

width: 560px;

padding: 20px;

margin: 100px auto;

}

form {

font:100% verdana;

min-width: 500px;

max-width: 600px;

width: 560px;

}

form fieldset {

border-color: #bdbebf;

border-width: 3px;

margin: 0;

}

legend {

font-size: 1.3em;

}

form label {

width: 250px;

display: block;

float: left;

text-align: right;

padding: 2px;

}

#buttons {

text-align: right;

}

web.xml

YJYSpring_MVC_Servlet_PaulDeckCH02

ControllerServlet

com.springmvc.servlet.ControllerServlet

ControllerServlet

*.action

4.5 运行测试

输入地址:

http://localhost:8080/YJYJ2EESpring_MVC_Servlet_PaulDeckCH02/product_input.action

输入数据之后,点击Add Product,地址栏的地址显示为

http://localhost:8080/YJYJ2EESpring_MVC_Servlet_PaulDeckCH02/product_save.action

测试完毕


网页标题:SpringMVC开发技术:MVC模式中Servlet控制器的简介和应用
URL链接:http://pwwzsj.com/article/gecpcp.html