servlet从jsp到jsp实现例子

已登录页面为例子:

1.login.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="login">
username:<input type="text" name="username" /><br>
password:<input type="password" name="password" ><br>
repassword:<input type="password" name="repassword"><br>
age:<input type="text" name="age"/>
<input type="submit" value="submits">
</form>

</body>
</html>

2.在xml中配置好传输信息


 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>com.servlet.LoginServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>

</web-app>

3.通过xml配置信息找到对应的处理class类。


package com.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;

public class LoginServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String username = req.getParameter("username");
String password = req.getParameter("password");
String repassword = req.getParameter("repassword");
int age = Integer.parseInt(req.getParameter("age"));

String result = "";
if(age > 18)
{
result = "success";
}
else
{
result += "age <= 18";
}
if(!password.equals(repassword))
{
result += "password != repassword";
}

req.setAttribute("username", username);
req.setAttribute("age", age);
//转发
RequestDispatcher rd = req.getRequestDispatcher("result.jsp");

//遍历一个list。额外加上的。测试request后得到的是一个枚举类型数据
List<String> list = new ArrayList<String>();
for(int i = 0; i < 100; i++)
{
list.add(String.valueOf(i));
}
req.setAttribute("list", list);

}
}

4.结果页面


<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.List" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

username:<%= request.getAttribute("username") %>

age:<%= request.getAttribute("age") %>

<%
List<String> list = (List<String>)request.getAttribute("list");
for(int i = 0; i < list.size(); i++)
{
%>
<%= list.get(i) %><br>
<%
}

%>
</body>
</html>

完成,收工,其中有些变量没有得到值,是因为没有将其存入到request容器中。

只是个例子,如果需要,留下言,我可以将其他的补全。

时间: 2024-12-16 23:26:00

servlet从jsp到jsp实现例子的相关文章

JSP编译成Servlet(四)JSP与Java行关系映射

我们知道java虚拟机只认识class文件,要在虚拟机上运行就必须要遵守class文件格式,所以JSP编译成servlet后还需要进一步编译成class文件,但从JSP文件到java文件再到class文件的过程需要考虑的事情比较多,其中一个比较重要的就是调试问题,由于语法不一样,jsp某行执行的逻辑怎样与java文件对应起来,这样在JVM执行过程发生异常或错误才能找到JSP对应的行,提供一个友好的调试信息.类似的,jsp文件名编译后的java文件名同样也要有映射关系. 总的来说,为了解决从非ja

Servlet,jsp,JSP技术 ,JSP编程

 一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 浏览器解析的时候是需要HTTP协议的,JAVA普通类有没有HTTP协议呢? 普通类没有. JAVA-(class)浏览器如何访问呢? 浏览器---HTML A   JAVA通过IO流生成HTML--->浏览器 B   JAVA 需要加入HTTP协议 解决上面2个问题可以通过 Servlet C  如

jsp请求转发小例子(转载)

在服务器端对客户端请求时行转发对其它的对象,如果jsp网页或Servlet 用三个 jsp网页来演示转发: forword1.jsp, 用来提交表单, 将表单内容提交给 forwrod2.jsp,  forward1.jsp代码如下: <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta

HTTP Status 500 - javax.servlet.ServletException: File [/head.jsp] not found

完整错误信息 type Exception report message javax.servlet.ServletException: File [/head.jsp] not found description The server encountered an internal error that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: javax.se

servlet跳转到JSP页面会出现乱码

问题描述:servlet跳转到JSP页面的时候会出现乱码.但是直接访问JSP页面不会出现乱码,乱码情况如图所示 servlet情况 我发现去掉servlet上面的那两句话,JSP乱码情况是没有的, 或者写成下面情况的servlet也可以的 这样也不会出现乱码! 或者把上面四句话全部去掉也不会出现乱码 本人分析(不一定正确)是因为:response.setContentType("text/html"); PrintWriter out = response.getWriter(); 因

代写Servlet、代写JSP、代写JavaBean程序作业

代写Servlet.代写JSP.代写JavaBean程序作业Servlet+JSP+JavaBean模式适合开发复杂的web应用,在这种模式下,Servlet负责处理用户请求,JSP负责数据收集和显示,JavaBean封装数据操作的相关功能.请以Servlet+JSP+JavaBean模式开发新闻发布系统,主要包括用户添加.用户登录.用户信息修改.新闻发表.新闻修改和新闻查看功能.具体要求如下:1.完成数据库设计,要求记录管理员信息和新闻信息,其中管理员信息包括:用户名.密码.性别.QQ号.em

Day10(--JSP与JSP内置对象)

一.JSP 1.   java Server Pages,sun提供的一种动态的web资源底层原理是Servlet 2.   HTML.Servlet.JSP的区别 l  HTML:显示数据 l  Servlet:Java代码,可以向浏览器输出HTM,JSP的运行时会编译成Servlet去输出到浏览器 l  JSP:Java+HTML 3.   JSP的执行流程: l  浏览器发送数据到tomcat,tomcat中有JSP引擎 l  第一次访问jsp时,将jsp翻译成一个servlet l  修

【JSP】JSP基础学习记录(二)—— JSP的7个动作指令

2.JSP的7个动作指令: 动作指令与编译指令不同,编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的动作.编译指令在将JSP编译成Servlet时起作用:而处理指令通常可替换成JSP脚本,它只是JSP脚本. JSP动作指令主要有如下7个. jsp:forward:执行页面转向,将请求的处理转发到下一个页面. jsp:param:用于传递参数,必须与其他支持参数的标签一起使用. jsp:include:用于动态引入一个JSP页面. jsp:plugin:用于下载JavaBean或

jsp的&lt;%@ include file=&quot;jsp/common.jsp&quot; %&gt;报错误Duplicate local variable basePath

将公共引入的文件放到common.jsp中,其他页面引入该jsp即可使用 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme() + "://" 5 +

jsp之jsp基础

1. Jsp生命周期 客户端第一次请求->web容器把jsp文件转译为servlet源文件(java)->编译为class文件->载入class文件生成servlet对象 2. Jsp转译的servlet 可重写的方法jspInit.jspDestroy 3. 指示元素 page <%@ page pageEncoding="gb2312" contentType="text/html; charset=utf-8" %> pageEn