上机任务1:
1.结合JavaBean技术,使用HttpSession模拟购物车的信息保存。
2.程序结构如图所示,Book.java是JavaBean,Db.java用来模拟数据库,ListBookServlet.java用于列出所有商品,点击购买将调用BuyServlet.java文件,ListCarServlet.java是购物车页面(点击购买了多少书本,就展示多少书本)。
Book.java
package ch5.shopping;
public class Book {
private String id;
private String name;
private String author;
private double price;
public Book(String id, String name, String author, double price) {
this.id = id;
this.name = name;
this.author = author;
this.price = price;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
BuyServlet.java
package ch5.shopping;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/BuyServlet")
public class BuyServlet extends HttpServlet{
private static final long serialVersionUID=1L;
public BuyServlet() {
super();
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id=request.getParameter("id");
Book book=(Book)Db.getAll().get(id);
HttpSession session=request.getSession();
List list=(List) session.getAttribute("listBook");
if(list==null) {
list=new ArrayList();
session.setAttribute("listBook", list);
}
list.add(book);
response.sendRedirect(request.getContextPath()+"/ListCarServlet");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
}
}
Db.java
package ch5.shopping;
import java.util.linkedHashMap;
import java.util.Map;
public class Db {
private static Map map=new linkedHashMap();
static {
map.put("1", new Book("1","《spring实战》","沃尔斯(Craig Walls)",66));
map.put("2", new Book("2","《大型分布式网站架构设计与实践》","陈康贤",79));
map.put("3", new Book("3","《一线架构师实践指南》","温昱",35));
map.put("4", new Book("4","《高性能网站构建实战》","刘鑫",88));
map.put("5", new Book("5","《淘宝技术这十年》","子柳",45));
}
public static Map getAll() {
return map;
}
public static void main(String[] args) {
Map map=Db.getAll();
for(Map.Entryentry:map.entrySet()) {
Book book=entry.getValue();
System.out.println(book.getName()+"购买
");
}
}
}
ListBookServlet.java
package ch5.shopping;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/ListBookServlet")
public class ListBookServlet extends HttpServlet{
private static final long serialVersionUID=1L;
public ListBookServlet() {
super();
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
out.println("本站有如下书籍:
");
Map map=Db.getAll();
for(Map.Entryentry:map.entrySet()) {
Book book=entry.getValue();
out.println(book.getName()+"购买
");
}
out.println("查看购买车");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
}
ListCarServlet.java
package ch5.shopping;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/ListCarServlet")
public class ListCarServlet extends HttpServlet{
private static final long serialVersionUID=1L;
public ListCarServlet() {
super();
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
HttpSession session=req.getSession(false);
if(session==null) {
out.write("您没有购买任何商品!!!");
return;
}
out.write("您购买了如下商品:
");
List list=(List)session.getAttribute("listBook");
for(Book book:list) {
out.write(book.getName()+"
");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO 自动生成的方法存根
super.doPost(req, resp);
}
}
运行效果:
上机任务2:实现表单登录项目,利用Servlet技术进行登录验证,并能成功跳转到员工之窗页面。
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
员工登录入口
body{
width: 1100px;
text-align: center;
margin-left: auto;
margin-right: auto;
}
.div_01{
background-color: #cccccc;
border: 2px solid #aaaaaa;
width: 1100px;
height: 100px;
font-size: 20pt;
line-height: 100%;
}
员工登录入口
LoginServlet.java
package cn.cszyedu.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 4186867481495598142L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String userName=request.getParameter("userName");
String userPwd=request.getParameter("userPwd");
HttpSession session = request.getSession();
if(userName==null||userPwd==null) {
response.sendRedirect(request.getContextPath()+"/jsp/login.jsp");
}else if(userName.equals("lan")&&userPwd.equals("123")) {
session.setAttribute("userName",userName);
session.setAttribute("userPwd",userPwd);
request.getRequestDispatcher("user2.jsp").forward(request,response);
}else {
response.sendRedirect(request.getContextPath()+"login.jsp");
}
}
}
user.css
body{
width: 1100px;
text-align: center;
margin-left: auto;
margin-right: auto;
}
.div_01{
background-color: #cccccc;
border: 2px solid #aaaaaa;
width: 1100px;
height: 100px;
font-size: 20pt;
line-height: 100%;
}
.div_02{
text-align: left;
line-height: 20pt;
padding-top: 10px;
padding-bottom:10px;
font-weight: bold;
border-bottom: solid #777777 2px;
}
.div_03{
padding-top: 10px;
}
#th_01 {
background-color: #22ccff;
width: 140px;
height: 60px;
}
a {
font-family: 宋体;
text-align: left;
text-decoration: underline;
TEXT-DECORATION: none;
}
.td_01{
text-align: center;
}
.span_01{
color:red;
}
.td_02{
text-align: center;
}
#span_02{
width: 250px;
height: 20px;
background-color: red;
}
User.java
package cn.cszyedu.po;
public class User {
private String userName;
private String userPwd;
private String eMail;
private String telephone;
private Integer loginTimes;
public User() {
super();
}
public User(String userName, String userPwd, String eMail,
String telephone, Integer loginTimes) {
super();
this.userName = userName;
this.userPwd = userPwd;
this.eMail = eMail;
this.telephone = telephone;
this.loginTimes = loginTimes;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public String geteMail() {
return eMail;
}
public void seteMail(String eMail) {
this.eMail = eMail;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public Integer getLoginTimes() {
return loginTimes;
}
public void setLoginTimes(Integer loginTimes) {
this.loginTimes = loginTimes;
}
@Override
public String toString() {
return "User [userName=" + userName + ", userPwd=" + userPwd
+ ", eMail=" + eMail + ", telephone=" + telephone
+ ", loginTimes=" + loginTimes + "]";
}
}
user2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
员工之窗
员工之窗
,欢迎你来到员工之窗。
当前时间:<%= date %>
| 文章编号 | 文章类型 | 标题 | 作者 | 发表日期 |
|---|
【发表文章】 【退出登录】 【返回首页】
web.xml
LoginServlet cn.cszyedu.servlet.LoginServlet LoginServlet /LoginServlet PublishServlet /PublishServlet
运行效果:
上机任务3:(二选一)
1、在Servlet中,利用表格排版输出教材名,作者,出版社,出版时间和价格。(直接粘贴源代码以及运行结果截图)
biaoge.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>Insert title here
| 网上书店后台管理系统 | |
|
|
|


