servlet + jsp开发web应用程序是很多人标榜的web开发基础。struts不过是更加简单而已。不够高级。就像使用c语言的人觉得使用java的开发人员是菜鸟一样。于是我使用了servlet+jsp谢了一个最简单的前台向后台传值的例子。传递一个时间和姓名
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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/servlettest/loginServlet" method = "post">
登录名:<input type = "text" name = "name">
生日:<input type = "text" name = "birthday">
<input type = "submit" value = "提交"/>
</form>
</body>
</html>
服务器端
package struts2_learning;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class loginServlet extends HttpServlet
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doPost(HttpServletRequest req,HttpServletResponse res)
{
String name = req.getParameter("name");
//时间格式转换
Date birthday = null;
try {
birthday = new SimpleDateFormat("yyyy-MM-dd").parse(req.getParameter("birthday"));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(name + "的生日是" + birthday);
}
}
web.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">
<display-name>struts2_learning</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>servletLoginTest</servlet-name>
<servlet-class>struts2_learning.loginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletLoginTest</servlet-name>
<url-pattern>/servlettest/loginServlet</url-pattern>
</servlet-mapping>
</web-app>
通过以上代码我来给大家讲讲为什么要用struts2代替servlet + jsp。
浏览器是弱类型,也就是说所有的类型在浏览器请求相应过程中都是字符串,所以前台传递的时间到后台要格式化。如果存在大量这样的数据传输,那么数据格式转换的工作量是相当客观的。
其他还有很多分析,比如从线程安全,表示层多样性等,我就不过多阐述了,这里举一个例子正如很多人说的一样servlet+jsp是理解web开发mvc很好的方式和实践