一共写了6个界面 【用户名:admin 密码:123456】
1.登录 2.登录处理 3.文章 4.文章处理 5.公有类Bean 6.文章发布
效果图:
1.如果登录成功
2.登录失败
3.另外有一些函数处理
上代码:
Login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录注册面</title>
<script type="text/javascript">
function loginClick() {
var x = document.forms["froms"]["username"].value;
var y = document.forms["froms"]["password"].value;
if (x == "") {
alert("请输入用户名!");
return false;
}
else if (y == "") {
alert("请输入密码!");
return false;
}
else
return true;`
}
</script>
<style type="text/css">
table {
position: absolute;
left: 50%;
margin-left: -20%;
top: 100px;
background-color: #DDDDDD;
}
</style>
</head>
<body>
<form class="table" name="froms" method="post" action="LoginServlet">
<% Cookie[]cookies=request.getCookies();
String userName="" ;
String passWord="" ;
String Error="" ;
Error=(String)request.getAttribute("error");
if(cookies!=null&&cookies.length>0)
{
for(int i=0;i<cookies.length;i++){
if(cookies[i].getName().equals(userName)){
userName=cookies[i].getValue(); }
if(cookies[i].getName().equals(passWord)){
passWord=cookies[i].getValue(); } } }
%>
<table border="1">
<tr>
<td style="background:white;border:0px;color:red" align="center" colspan="2">
<%=Error%>
</td>
</tr>
<tr>
<td>管理员用户名:</td>
<td><input type="text" size="15" name="username" /></td>
</tr>
<tr>
<td>管理员 密码:</td>
<td><input type="password" size="15" name="password" /></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" onclick="loginClick()" value="提交" />
<input type="reset" value="重置" />
</td>
</tr>
</table>
</form>
</body>
</html>
LoginServlet.java
package javawebtest;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=GBK");
PrintWriter out=response.getWriter();
String username=request.getParameter("username");
String password=request.getParameter("password");
String error="";
if(username.equals("admin")&&password.equals("123456")){
Cookie namecookie= new Cookie("userName", username);
Cookie passcookie= new Cookie("passWord", password);
namecookie.setMaxAge(7*24*60*60);
passcookie.setMaxAge(7*24*60*60);
response.addCookie(namecookie);
response.addCookie(passcookie);
out.println("<html><head>");
out.println("</head><boby>");
out.println("登录成功");
out.println("</boby></html>");
request.getRequestDispatcher("/NewsPub.jsp").forward(request,response);
}
else{
if(!username.equals("admin")&&username!=""){
error="登录失败:用户名不存在";
}
else {if(!password.equals("123456")&&password!="")
error="登录失败:密码错误";
}
request.setAttribute("error", error);
request.getRequestDispatcher("/Login.jsp").forward(request,response);
}
}
}
NewsPub.jsp
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>新闻发布页</title>
<style>
div.left {
width: 15px;
height: 715px;
background-color: #115eac;
float: left;
}
div.body {
width: 836px;
height: 715px;
border: 1px solid #f5ffff;
background-color: #b7e6fc;
}
tr.height {
height:50px;
}
td.width {
width: 136px;
text-align: center;
}
p {
font-weight: bold;
}
.border_color {
border:1px solid #8FB5DA;
}
</style>
<script type="text/javascript">
function NewuClick(){
var a=document.forms["Newu"]["title"].value;
var b=document.forms["Newu"]["author"].value;
var c=document.forms["Newu"]["content"].value;
if(a=="")
{alert("请输入文章题目");
return false;}
else if(b=="")
{alert("请输入文章作者");
return false;}
else if(c=="")
{ alert("请输入文章内容");
return false;}
else
return true;
}
</script>
</head>
<body >
<div class="left"></div>
<div class="body">
<form action="NewsPubServlet" name="Newu" method="post">
<table>
<tr class="height">
<td class="width"><p>文章题目:</p></td>
<td><input type="text" size="20px" name="title" class="border_color" required></td>
</tr>
<tr class="height">
<td class="width"><p>文章作者:</p></td>
<td><input type="text" size="20px" name="author" class="border_color" required></td>
</tr>
<tr>
<td class="width"><p>文章内容:</p></td>
<td><textarea cols="85" rows="35" name="content" class="border_color" required></textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align:right"><input type="submit" value="提交" onclick="NewuClick()">
<input type="reset" value="重置"></td>
</tr>
</table>
</form>
</div>
</body>
</html>
NewsPubServlet.java
package javawebtest;
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;
@WebServlet("/NewsPubServlet")
public class NewsPubServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public NewsPubServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
doGet(request, response);
request.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=GBK");
String titie= request.getParameter("title");
String author= request.getParameter("author");
String content= request.getParameter("content");
Bean news =new Bean();
news.setAuthor(author);
news.setTitle(titie);
news.setContent(content);
//将news对象添加到request对象中
request.setAttribute("news", news);
//将请求转发到ShowNew.jsp中
request.getRequestDispatcher("/shownews.jsp").forward(request,response);
}
}
Bean
package javawebtest;
public class Bean {
private String author;
private String title;
private String content;
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
shownews.jsp
<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312" %>
<html>
<head>
<meta charset="GB2312">
<title>新闻显示页</title>
<style>
div.box {
width: 800;
height: 1000px;
position: absolute;
left: 20%;
}
div.header1 {
width: 800px;
height: 80px;
background: rgb(143, 192, 199);
position: absolute;
left: 0px;
top: 0px;
}
p.title1 {
font-size: 30px;
text-align: center;
font-family: "宋体";
font-weight:bolder;
}
div.header2 {
width: 800px;
height: 30px;
background: rgb(173, 180, 173);
position: absolute;
left: 0px;
top: 80px;
}
p.title2 {
font-size: 10px;
text-align: center;
font-family: "微软雅黑";
}
div.header3 {
width: 800px;
height: 890px;
background: rgba(230, 213, 120, 0.815);
position: absolute;
left: 0px;
top: 110px;
}
p.title3 {
text-align: left;
margin: 1cm 1cm 1cm 1cm;
font-family: "仿宋";
}
</style>
</head>
<body>
<jsp:useBean id="news" type="javawebtest.Bean" scope="request" />
<div class="box">
<div class="header1">
<p class="title1">${news.title}</p>
</div>
<div class="header2">
<p class="title2">${news.author}</p>
</div>
<div class="header3">
<p class="title3">${news.content}</p>
</div>
</div>
</body>
</html>