Session题目

建立.java文件:

src右键→new→servlet→

        javapackage:servlet

        class name:InputServlet(本题目建立了InputServlet,OutputServlet,WelcomeServlet)

        next→

        选中URL mappings:里面的/InputServlet,选中然后点右边的edit...,去掉后面的Servlet,把前面的Input换成input(大写换成小写)

        取消勾选constructors from superclass

        勾选inherited abstract methods

        勾选doget,dopost

        finish→

可以把.java里面多余的代码行删掉


建立.jsp文件:

选中webroot右键new→other→弹出对话框

        在wizards下输入jsp

        选择jsp file

        next→

        在file name下输入文件名

        finish→

建立完成

.jsp文件建立在webroot下!(不要建立在webroot的web-int下,web-int文件夹下的内容机密性很高,网页无法访问)  


InputServlet.java代码

package 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("/input")
public class InputServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {	
		HttpSession session=request.getSession(); //得到Session内置对象
		request.setAttribute("request", "requestInformation"); //将获取的数据保存到request域中
		session.setAttribute("session", "SessionInformation"); //用来设置session值的,session是名称,SessionInformation是你要保存的对象。
		//session属性值与跳转方式无关,与是不是用一个浏览器有关
		//request.setAttribute("request","requestInformation"); //只能是服务器端跳转
		//request.getRequestDispatcher("output").forward(request, response); //请求跳转到另外一个页面
		response.sendRedirect("output"); //跳转页面,和上一行一样
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	}
}

OutputServlet.java代码

package servlet;
import java.io.IOException;
import java.io.PrintWriter;

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("/output")
public class OutputServlet extends HttpServlet {	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html");
		PrintWriter out=response.getWriter();
		out.print("<html>");
		out.print("<head>");
		out.print("</head>");
		out.print("<body>");				
		String s1=(String)request.getAttribute("request"); //返回值是Object类型,赋值时需要考虑 强制类型转换		
		HttpSession session=request.getSession(); //得到Session内置对象
		String s2=(String)request.getAttribute("session"); //强制类型转换		
		out.print("request----"+s1+"<br>");
		out.print("request----"+s1+"<br>");				
		out.print("</body>");
		out.print("</html>");		
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	}
}

index.html代码

<!DOCTYPE html>
<html>
<head>
<meta charset="gbk">
<title>Insert title here</title>
</head>
<body>
	<font size="5"> 登录界面<br>
		<form action="check" method="post"> <!-- 描述url向check处发送表单数据 -->
			用户名:<input type="text" name="name11"><br> 
			密码:<input type="text" name="password11"><br> <!-- password定义密码字段。该字段中的字符被掩码。  -->
			<input type="submit" value="登录"><input type="reset" value="重置"><br>
		</form>
	</font>
</body>
</html>

WelcomeServlet代码

package servlet;
import java.io.IOException;
import java.io.PrintWriter;

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("/welcome")
public class WelcomeServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("gbk"); //这两行保证页面不乱码,其他界面的编码也要修改成gbk
		response.setCharacterEncoding("gbk");
		
		response.setContentType("text/html"); //使客户端浏览器,区分不同种类的数据
		PrintWriter out=response.getWriter();
		out.print("<html>"); //调用的是JspWriter类中的方法。
		out.print("<head>");
		out.print("</head>");
		out.print("<body>");		
		HttpSession session=request.getSession(); //得到Session内置对象
		String info=(String)session.getAttribute("info"); //(String)强制类型转换
		//只有输入用户名密码,正确输入,才能进入页面
		if(info==null) {
			request.getRequestDispatcher("index.html").forward(request,response);
		}else{
			out.print("<h1>welcome</h1>");
			out.print("<h1>欢迎来到青岛职业技术学院</h1>");//只有当用户名是admin,密码是123时,才会执行session。Attribute语句。get时,才不会为空
		}
		
		out.print("</body>");
		out.print("</html>");
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	}
}

这是代码位置

1、servlers,把tomato部署上

2、运行服务器

3、在网络浏览器上输入网址

http://127.0.0.1:8080/demo1101/check

成功运行

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值