您的位置:首页 > 编程语言 > Java开发

简单页面(C标签)+java后台+数据库,对前篇文章的改进

2017-08-25 16:34 351 查看
        在前两篇的关于简单页面+java后台+数据库的整体中我们可以看到,虽然功能能够实现但是,页面的代码中插入了好多小脚本,这样导致页面的代码不简洁,所以针对这个问题,我们在页面使用c标签;

首先是前端网页的文件:



addtypes代码:

<body style="background-image:url(bg3.jpg)">
<h1>这是添加新闻界面</h1>
<form action="TypesServlet" method="post">
<input type="hidden" value="1" name="type">
新闻类型:<input type="text" name="typename"/><br/>
<input type="submit" value="提交">
</form>
</body>
showtypes

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>//c标签

<body style="background-image:url(bg3.jpg)">
<h1>这是显示页面</h1>
<h1>显示类型</h1>
<table border="1">
<tr><td>编号</td><td>类型</td><td>操作</td></tr>
<c:forEach items="${list}" var="types">
<tr>
<td>${types.id}</td><td>${types.typename}</td>
<td><a href="TypesServlet?type=3&&id=${types.id}">修改</a>
  
<a href="TypesServlet?type=4&&id=${types.id}">删除</a></td>

</tr>
</c:forEach>
</table>
</body>
updatetypes:

<body style="background-image:url(bg3.jpg)">
<h1>这是显示页面</h1>
<h1>显示类型</h1>
<table border="1">
<tr><td>编号</td><td>类型</td><td>操作</td></tr>
<c:forEach items="${list}" var="types">
<tr>
<td>${types.id}</td><td>${types.typename}</td>
<td><a href="TypesServlet?type=3&&id=${types.id}">修改</a>
  
<a href="TypesServlet?type=4&&id=${types.id}">删除</a></td>

</tr>
</c:forEach>
</table>
</body>
addnews代码:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<body style="background-image:url(bg3.jpg)">
<h1>添加内容界面</h1>
<form action="NewsServlet" method="post">
<input type="hidden" value="1" name="type">
标题:<input type="text" name="title"/><br/>
内容:<input type="text" name="contain"/><br/>
作者:<input type="text" name="autor"/><br/>
类型:<select name="typeid">
<c:forEach items="${list}" var="types">
<option value="${types.id}"> ${types.typename }</option>
</c:forEach>
</select>
<input type="submit" value="提交">
</form>
</body>
shownews代码:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<body style="background-image:url(bg3.jpg)">
<h1>这是显示页面</h1>
<h1>显示内容</h1>
<table border="1">
<tr><td>编号</td><td>标题</td><td>内容</td><td>作者</td><td>操作</td></tr>
<c:forEach items="${list}" var="news">
<tr>
<td>${news.id}</td><td>${news.title}</td><td>${news.contain}</td><td>${news.autor}</td>
<td><a href="NewsServlet?type=6&&id=${news.id}">修改</a>
  
<a href="NewsServlet?type=4&&id=${news.id}">删除</a></td>
</tr>
</c:forEach>
</body>
updatenews:

<body style="background-image:url(bg3.jpg)">
<h1>修改内容页面</h1>
<form action="NewsServlet" method="post">
<input type="hidden" value="4" name="type">
<input type="hidden" name="idss" value="${news.id}"/>

标题:<input type="text" name="title" value="${news.title}"/><br/>
内容:<input type="text" name="contain" value="${news.contain}"/><br/>
作者:<input type="text" name="autor"  value="${news.autor}"/><br/>
<input type="submit" value="提交">
</form>
</body>


下面是servlet层的代码
TypeServlet(新闻类型):

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import entity.types;

import service.TypesService;
import service.imp.TypesServiceImp;

public class TypesServlet extends HttpServlet {

/**
*
*/
private static final long serialVersionUID = 1L;

public void destroy() {
super.destroy(); // Just puts "destroy" string in log
}

TypesService ts=new TypesServiceImp();

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//再调用post方法
this.doPost(request, response);
out.flush();
out.close();
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//获取type数值来判断进行增删改查,在页面里面设置了
String type=request.getParameter("type");
if ("1".equals(type)) {
//添加方法
System.out.println("haha");
addtypes(request, response);
} else if("2".equals(type)){
//查询所有
selectall(request, response);
}else if("3".equals(type)){
//单个查询
selectone(request, response);
}else if("4".equals(type)){
//删除
ts.delete(Integer.parseInt(request.getParameter("id")));
selectall(request, response);

}else if("5".equals(type)){
//修改
update(request, response);
}
PrintWriter out = response.getWriter();
out.flush();
out.close();
}

/***********************添加方法*********************************************************/
public void addtypes(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String typesname=request.getParameter("typename");
int a=ts.addtypes(typesname);
if (a>0) {
//调用查询方法
selectall(request, response);
}else {
//进入添加新闻类型页面
response.sendRedirect("addnews.jsp");
}
}

/***********************查询方法*********************************************************/
public void selectall(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

List<types> list=new ArrayList<types>();
list=ts.selectall(null);
request.setAttribute("list", list);
RequestDispatcher rd=request.getRequestDispatcher("showtypes.jsp");
rd.forward(request, response);
}

/***********************修改方法*********************************************************/
public void update(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int id=Integer.parseInt(request.getParameter("id"));
String tname=request.getParameter("types");
types ty=new types(id, tname);
ts.update(ty);
System.out.println("更新咯");
//调用查询方法
selectall(request, response);
}

/***********************查询一个方法*********************************************************/
public void selectone(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int id=Integer.parseInt(request.getParameter("id"));
types ty=ts.selectone(id);
request.setAttribute("types",ty);
RequestDispatcher rd=request.getRequestDispatcher("updatetypes.jsp");
rd.forward(request, response);
}

public void init() throws ServletException {

}

}


NewsServlet:

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import entity.news;
import entity.types;

import service.NewsService;
import service.TypesService;
import service.imp.NewsServiceImp;
import service.imp.TypesServiceImp;

public class NewsServlet extends HttpServlet {

NewsService ns=new NewsServiceImp();
TypesService ts=new TypesServiceImp();
public NewsServlet() {
super();
}

public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
this.doPost(request, response);//再调用post方法
out.flush();
out.close();
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//获取type值来判断怎么做
String type=request.getParameter("type");
if ("1".equals(type)) {
//添加操作
addnews(request, response);
} else if("2".equals(type)){
//修改操作
update(request, response);
}else if("3".equals(type)){
//查看
selectall(request, response);

c484
}else if("4".equals(type)){
//删除
delate(request, response);
}else if("5".equals(type)){
//查看类型
selecttype(request, response);
}
else if("6".equals(type)){
//查看一个,查询先调用查询一个
selectone(request, response);
}
out.flush();
out.close();
}

/*******添加内容*******************************************************************/
public void addnews(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String title=request.getParameter("title");
String contain=request.getParameter("contain");
String autor=request.getParameter("autor");
String typeid=request.getParameter("typeid");
news n=new news(title, contain, autor, Integer.parseInt(typeid));
int a=ns.addnews(n);
if(a>0){
//调用查询方法
selectall(request, response);
}else {
response.sendRedirect("addnews");//重定向
}
}

/*******查看所有内容*******************************************************************/
public void selectall(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

List<news> list=ns.selectall(null);
request.setAttribute("list", list);
request.getRequestDispatcher("shownews.jsp").forward(request, response);
}

/*******查看类型,为查看服务*******************************************************************/
public void selecttype(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<types> list=ts.selectall(null);
request.setAttribute("list", list);
request.getRequestDispatcher("addnews.jsp").forward(request, response);//转发
}

/*******查看一个*******************************************************************/
public void selectone(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int id=Integer.parseInt(request.getParameter("id"));
//System.out.println(id);
news ne=ns.selectone(id);
request.setAttribute("news",ne);
RequestDispatcher rd=request.getRequestDispatcher("updatenews.jsp");//转发
rd.forward(request, response);
}

/*******修改内容*******************************************************************/
public void update(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int id=Integer.parseInt(request.getParameter("idss"));
String title=request.getParameter("title");
String contain=request.getParameter("contain");
String autor=request.getParameter("autor");
news ne=new news(id, title, contain, autor );
ns.update(ne);
System.out.println("更新咯");
//调用查询方法
selectall(request, response);
}

/*******删除内容*******************************************************************/
public void delate(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ns.delete(Integer.parseInt(request.getParameter("id")));
selectall(request, response);
}

public void init() throws ServletException {
// Put your code here
}

}

之后的Service层和Dao层的代码和我之前的两篇文章结合在一起最终都是一样的,之后这整篇文章的例子我也会上传

这篇的打包文件在这:http://download.csdn.net/download/qq_34178998/9950610

,要注意用两个jar包;



好了这次的博客就更新到这
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: