web开发 订阅
Web前端开发工程师,是从事Web前端开发工作的工程师。主要进行网站的开发、优化、完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。一位好的Web前端开发工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。现在说的重点不在于讲解技术,而是更侧重于对技巧的讲解。技术非黑即白,只有对和错,而技巧则见仁见智。以前会Photoshop和Dreamweaver就可以制作网页,现在只掌握这些已经远远不够了。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后端开发,所以现在不再叫网页制作,而是叫Web前端开发。Web前端开发在产品开发环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好,这方面的专业人才近两年来备受青睐。Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好地呈现给用户。 展开全文
Web前端开发工程师,是从事Web前端开发工作的工程师。主要进行网站的开发、优化、完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。一位好的Web前端开发工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。现在说的重点不在于讲解技术,而是更侧重于对技巧的讲解。技术非黑即白,只有对和错,而技巧则见仁见智。以前会Photoshop和Dreamweaver就可以制作网页,现在只掌握这些已经远远不够了。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后端开发,所以现在不再叫网页制作,而是叫Web前端开发。Web前端开发在产品开发环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好,这方面的专业人才近两年来备受青睐。Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好地呈现给用户。
信息
类    属
职业
内    容
动态与静态
发    展
2005年以后
中文名
web前端开发工程师
外文名
front-end Web developer
web前端开发工程师简介
2005年以后,互联网进入Web 2.0时代,各种类似桌面软件的Web应用大量涌现,网站的前端由此发生了翻天覆地的变化。网页不再只是承载单一的文字和图片,各种丰富媒体让网页的内容更加生动,网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。随着Web 2.0概念的普及和W3C组织的推广,网站重构的影响力正以惊人的速度增长。XHTML+CSS布局、DHTML和Ajax像一阵旋风,铺天盖地席卷而来,包括百度、腾讯、淘宝、新浪、搜狐、网易等在内的各种规模的IT企业都对自己的网站进行了重构。前端开发的入门门槛其实相对较低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。所以,对于从事IT工作的人来说,前端开发是个不错的切入点。也正因为如此,前端开发领域有很多自学的同行,但是后面的学习曲线越来越陡峭,每前进一步都很难。另一方面,正如前面所说,前端开发是个非常新的职业,对一些规范和最佳实践的研究都处于探索阶段。总有新的灵感和技术不时闪现出来,例如HTML5、CSS3、JavaScript、负边距布局、栅格布局等;各种JavaScript框架层出不穷,为整个前端开发领域注入了巨大的活力;浏览器大战也越来越白热化,跨浏览器兼容方案依然是五花八门。为了满足“高可维护性”的需要,需要更深入、更系统地去掌握前端知识,这样才可能创建一个好的前端架构,保证代码的质量。
收起全文
精华内容
参与话题
问答
  • JAVA WEB开发实战

    千人学习 2018-06-07 09:45:31
    走进JSP、掌握JSP语法、JSP内置对象、Servlet技术、综合实验(一)——JSP使用Model2实现登录模块、EL表达式语言、JSTL核心标签库、综合实验(...三)——Ajax实现用户注册模块——可以轻松领会Java Web程序开发的精髓...
  • “The origin server did not find a current ...disclose that one exists.”,在web开发的过程中,看到这一段错误提示,不管是在入门阶段还是已经是web 老手都会感到很头痛。我也是在使用JSTL库的过程中,出现了这

    写在前面

    “The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.”,在web开发的过程中,看到这一段错误提示,不管是在入门阶段还是已经是web老手都会感到很头痛。我也是在使用JSTL库的过程中,出现了这个问题,困扰了我很长时间才搞定的,所以决定有必要写一篇博客,碰到这个问题真的非常令人头痛,我这里解决了之后,就想着总结一下各种解决方法,希望能给还在苦海的朋友一些帮助,还是挺有用的。动动手指头,点个关注和点个赞,不胜感激

    问题一(也是我碰到的问题)

    我在web开发中,为了配置JSTL库改动了web.xml,手残不小心把文件的部署路径写错了,所以导致了出现这个问题,这还是我自己看了eclipse的console出错信息才发现的,所以console的出错信息还是很有用的

    问题二

    试一试调节Project的 Build,如图勾选:

    问题三

    双击Tomcat,进入调节,当然双击前必须先移除Tomcat Server中的项目,这样才可以更改其中的设置,如图:

    问题四

    一定要注意路径是否有错误,这个是很愚蠢的问题。

     

    问题五

    xml的版本问题,在Eclipse编译器中右键项目—>Properties—>Project Facets—>Dynamic Web Module 如图:

    问题六

    检查文件是否有加载至Tomcat下的webapps目录下

    这是我知道的一些问题,不够全面,但是希望能帮助到一些人。

     

     

    展开全文
  • java web开发(二) 接口开发

    万次阅读 多人点赞 2016-06-03 16:50:34
    java web开发(一) 环境搭建讲解了如何搭建一个Java Web项目,如果你还没了解,建议先浏览下!今天这篇文章主要讲解的就是接口开发,打算使用比较古老的或者说比较原始方法实现的接口。 一.数据库设计。 假设要做...

        java web开发(一) 环境搭建讲解了如何搭建一个Java Web项目,如果你还没了解,建议先浏览下!今天这篇文章主要讲解的就是接口开发,打算使用比较古老的或者说比较原始方法实现的接口。

    一.数据库设计。

        假设要做一个简单的学生信息管理系统,数据库名为students_manage,并且先设计一张学生表,表名为student。

    1.打开Sqlyong工具,如果还没创建连接,可以点击新建,输入名称,点击确定即可,

    2.然后在保存的连接中选择,刚刚新建的连接,只需要在密码输入框中输入,安装数据库时的设置的密码,点击连接,其他的默认即可,

    如果都ok的话,那么将会出现如下界面,就代表连接成功了!

    3.连接成功后,首先创建数据库,在左边的空白区域,鼠标右键,创建数据库,输入数据库名称students_manage,其他的默认,

    点击创建即可,然后在左边的数据库列表中会多一个students_manage的数据库,

    4.创建数据库成功后,我们便可以创建数据库表,选中students_manage的数据库中的Tables文件夹,右边,创建表,输入表的字段,类型,设置主键,是否可为空等,

    点击创建表按钮,便会看到在Tables文件夹中,多一个student表,

    5.双击student表,便会打开该表。我们需要给该表中,先初始化一些数据,点击表数据,然后插入数据,点击保存。

    此时表中已有2条记录。

    数据库的简单设计就差不多了,接下来,我们需要开发接口!

    PS: 实际开发中,数据库设计肯定不是这样的,需要先根据需求分析,做出原型,画出模型图(类图、活动图等),然后使用专门的数据库建模工具,完成数据库与表的设计!

    二.接口项目开发。(如果对这一部分有疑问或者不清楚的,欢迎查看java web开发(四) 接口开发补坑1 java web开发(五) 接口开发补坑2!)

        接口返回的数据格式是JSON,如果你对JSON还不熟悉,可以先看看文章 JSON 使用讲解JSON 解析

       1.新建项目。这个就不多说了!这一块要是还不了解,请看这篇文章, java web开发(一) 环境搭建

       2.设计接口的Json数据格式。

        2.1.接口返回的Json数据格式如下:

       (1).返回对象,

    {"code":" ","msg":" ","time":1464937933230,"object":{}}

       (2).返回数组,

     

    {"code":" ","msg":" ","time":1464937933230,"items":[{},{}]}

    好多读者都留言,有“code”这个属性不解。  这儿说明下,  Json格式数据中的“code”属性是响应状态码,是标志接口数据的状态!例如当接口数据返回成功,会设置code为‘ok’。当我们拿到这个“code”时,会根据不同的值,做不同的处理。当“code”等于“ok”时,我们就可以正常解析这个json数据了;返回其他值,我们就只需要作出提示即可。而具体code值是什么,要根据接口自己定义一个规范,当调用者拿到这个code时,就知道如何处理了。有关这个“code”,更加详细的内容,请看 java web开发(五) 接口开发补坑2

    目前就设计返回以上两种格式。如果你有分页的话,也可以加上。下面,就展示一下具体实现。

        (1).建立AbstractJsonObject(Json数据的基类),具体实现如下:

     

    public class AbstractJsonObject {
            //code
    	private String code;
    	//msg
    	private String msg;
    
    	private Long time = new Date().getTime();
    
    	public String getCode() {
    		return code;
    	}
    
    	public void setCode(String code) {
    		this.code = code;
    	}
    
    	/**
    	 * @return the time
    	 */
    	public Long getTime() {
    		return time;
    	}
    
    	/**
    	 * @param time
    	 *            the time to set
    	 */
    	public void setTime(Long time) {
    		this.time = time;
    	}
    
    	public String getMsg() {
    		return msg;
    	}
    
    	public void setMsg(String msg) {
    		this.msg = msg;
    	}
    
    	public void setContent(String code, String msg) {
    		this.code = code;
    		this.msg = msg;
    	}
    
    	public void setStatusObject(StatusObject statusObject) {
    		this.code = statusObject.getCode();
    		this.msg = statusObject.getMsg();
    	}
    }
    

        其中,StatusObject是一个状态对象,封装了状态码(code)和状态信息(msg),具体实现如下:

     

     

    /**
     * 状态对象
     */
    public class StatusObject {
    	// 状态码
    	private String code;
    
    	// 状态信息
    	private String msg;
    
    	public StatusObject(String code, String msg) {
    		super();
    		this.code = code;
    		this.msg = msg;
    	}
    
    	public String getCode() {
    		return code;
    	}
    
    	public void setCode(String code) {
    		this.code = code;
    	}
    
    	public String getMsg() {
    		return msg;
    	}
    
    	public void setMsg(String msg) {
    		this.msg = msg;
    	}
    
    }
    

        (2).建立Json对象类SingleObject,代码:

     

     

    public class SingleObject extends AbstractJsonObject {
    
    	private Object object;
    
    	public Object getObject() {
    		return object;
    	}
    
    	public void setObject(Object object) {
    		this.object = object;
    	}
    
    }

        (3).建立Json数组类ListObject,代码:

     

     

    public class ListObject extends AbstractJsonObject {
    
    	// 列表对象
    	private List<?> items;
    
    	public List<?> getItems() {
    		return items;
    	}
    
    	public void setItems(List<?> items) {
    		this.items = items;
    	}
    
    }

    经过上面几步,我们所需要的json格式数据就创建好了,接下来就是生成json数据了,这儿使用jackjson,JackJson 库下载。下载完jackson库后,将三个包导入到项目的lib目中,截图所示:

     

       (4).JackJsonUtils生成json数据和解析json数据,代码:

     

    public class JackJsonUtils {
    	static ObjectMapper objectMapper;
    	/**
    	 * 解析json
    	 * 
    	 * @param content
    	 * @param valueType
    	 * @return
    	 */
    	public static <T> T fromJson(String content, Class<T> valueType) {
    		if (objectMapper == null) {
    			objectMapper = new ObjectMapper();
    		}
    		try {
    			return objectMapper.readValue(content, valueType);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return null;
    	}
    
    	/**
    	 * 生成json
    	 * 
    	 * @param object
    	 * @return
    	 */
    	public static String toJson(Object object) {
    		if (objectMapper == null) {
    			objectMapper = new ObjectMapper();
    		}
    		try {
    			return objectMapper.writeValueAsString(object);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return null;
    	}
    }

        至此,json数据设计就ok了!是不是没有想象的那么难?也许,就真的这么简单!接下来,就是接口的开发了。

     

        3.接口开发。

          本篇文章开发接口使用的是古老的servlet实现的,关于servlet,请自行查找资料,这里就不多说了(其实我也就一知半解)

          3.1.创建一个类继承自HttpServlet,例如StudentInq,鼠标右键,新建->选择Servlet,截图所示输入Servlet名称,点击Finish按钮,就ok了!

    此时你会发现包下多了一个StudentInq类,具体代码:

     

    public class StudentInq extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    
    	/**
    	 * @see HttpServlet#HttpServlet()
    	 */
    	public StudentsInq() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
    	 *      response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
    	 *      response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		// TODO Auto-generated method stub
    
    		doGet(request, response);
    	}
    
    }

        实现HttpServlet的doGet()和doPost方法,此处为了简单就只实现doGet()。

     

    PS: 如果你比较细心的话,会发现在web.xml文件中多了几行代码,具体如下截图:(web.xml 是网络程序中的一个很重要的配置文件,更具体的、详细的请查询相关文档)

    可以看到我们刚才新建servlet,在这个xml文件中显示了。后面我们在调用接口的时候便会用到这个配置清单。

        3.2. 接口实现。

        我们就简单的实现一个学生查询接口!调用查询接口,返回数据库中所有的学生信息。

       (1).新建一个接口StudentService,代码:

     

    public interface StudentService {
    	public List<Students> getAllStudents();
    }

        (2). 实现该接口,StudentServiceImpl代码:

     

     

    public class StudentServiceImpl implements StudentService{
    
    	@Override
    	public List<Students> getAllStudents() {
    		// TODO Auto-generated method stub
    		return StudentBusiness.getAllStudents();
    	}
    
    }

       其中,StudentBusiness提供了从数据库获取学生信息的方法。有关数据库操作下面会讲到。接着,我们实现Servlet的doGet(),具体代码:

     

     List<Students> list = new StudentServiceImpl().getAllStudents();
    		ListObject listObject=new ListObject();
    		listObject.setItems(list);
    		listObject.setStatusObject(StatusHouse.COMMON_STATUS_OK);
    		String responseText = JackJsonUtils.toJson(listObject);
    		ResponseUtils.renderJson(response, responseText);

     

       其中,ResponseUtils是将返回的json数据写入到response中。

       至此,生成json数据已经成功了!但是 貌似少了什么操作?这些数据是从哪里来的?原来数据库还没有连接呢!!!好吧!请继续看下文。

       4. 数据库连接。

        文章开头,我们已经创建好了数据库以及表,并且也添加了几条测试数据。数据有了,我们需要在项目中获取到,那么该怎么操作呢?

       (1). 数据库连接。

        我们连接mysql数据库,需要导入mysql-connector.jar,jar包下载链接下载好jar后,导入到lib目录中,

       (2). 建立DBHelper连接数据库以及关闭连接:

     

    public class DBHelper {
    	
    	 public static final String url = "jdbc:mysql://localhost:3306/students_manage";  
    	    public static final String name = "com.mysql.jdbc.Driver";  
    	    public static final String user = "****";  
    	    public static final String password = "******";  
    	  
    	    public Connection conn = null;  
    	    public PreparedStatement pst = null;  
    	  
    	    public DBHelper(String sql) {  
    	        try {  
    	            Class.forName(name);//
    	            conn = DriverManager.getConnection(url, user, password);//
    	            pst = conn.prepareStatement(sql);//
    	        } catch (Exception e) {  
    	            e.printStackTrace();  
    	        }  
    	    }  
    	  
    	    public void close() {  
    	        try {  
    	            this.conn.close();  
    	            this.pst.close();  
    	        } catch (SQLException e) {  
    	            e.printStackTrace();  
    	        }  
    	    }  
    
    }

    代码很简单了,不需要多说!

     

        这一步,我们是连接数据库,连接成功后,就可以使用表中的数据了!

    PS: 实际开发中,有关数据库操作,肯定不是这么简单的!比较常用的是框架来管理数据库相关操作,例如SpringMvc、hibernate和mybats等框架。

    三. 运行。

        经过上面几步,我们就大致完成了一个简单使用Servlet的接口开发,接下来就是见证奇迹的时刻了!

    PS: 在运行前,可以在WebContent中添加一个index.jsp,index.jsp代码:

     

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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>
    	<h1>hello world!</h1>
    	<h2>This is my test page!</h2>
    	<h3>Welcome to my page!</h3>
    </body>
    </html>

     

     (1).在项目上,右键->Run As->Run to Server。

    如果一切都正常的话,(如果你创建了index.jsp,你会看到一个jsp页面;如果没有创建index.jsp,可能会显示一个404界面,当然没有创建index.jsp不会影响咱们接口的调试)

       (2).我们在浏览器中输入‘http://localhost:8080/mServer/StudentInq’,如果一切都正常的话,会显示:

       或者在浏览器中输入本机的ip地址,例如’http://192.168.1.133:8080/mServer/StudentInq‘,

    看到这个界面,顿时泪流满面!!

    四. 总结。

        这么长的篇幅终于实现了简单接口的开发,不容易啊!太感动了!我们总结一下本篇博客实现开发接口的步骤:

    (1). 数据库表设计;

    (2). json数据设计;

    (3). 接口实现。

      总结后,是不是感觉很简单呢!从此以后,只要看到接口数据不如意的,你都可以随便来改!!(实际上接口开发要牵扯好多东西,如果你要了解或者熟悉更多有关接口开发,那么就需要结合Web框架,例如SSH,Springmvc等等,本篇文章只是很基础的入门开发)至此,通过这篇文章,相信你对接口不再生疏了!下篇文章将介绍,后台接口服务和前端客户端结合,详情请看,java web开发(三) 接口使用

      最后补上,例子下载地址。由于csdn下载需要积分,所以,我在github上也放置了源码,下载地址是,接口开发服务端源码地址

     PS: json格式化工具

    推荐文章:SpringMVC 开发接口

     

    博文中经常有小伙伴留言,有关接口项目的问题,最近就推出几篇补坑的文章,打算这几篇文章详解项目中的代码以及业务流程,java web开发(四) 补坑1 java web开发(五) 接口开发补坑2!欢迎大家查看!

     

    最近才开通了微信公众号,欢迎大家关注。

     
    展开全文
  • web开发基本常用语言?

    千次阅读 2018-12-29 19:34:47
    Web开发,Web框架一定要熟悉,框架是Web架构开发中必不可少的工具,不仅可以提高开发效率,还能让开发项目更成熟,并且可以提升代码的可再用性,Web框架开发离不开相应的开发语言,以下是常用的Web架构开发语言: ...

    做Web开发,Web框架一定要熟悉,框架是Web架构开发中必不可少的工具,不仅可以提高开发效率,还能让开发项目更成熟,并且可以提升代码的可再用性,Web框架开发离不开相应的开发语言,以下是常用的Web架构开发语言:
    做Web开发,Web框架一定要熟悉,框架是Web架构开发中必不可少的工具,不仅可以提高开发效率,还能让开发项目更成熟,并且可以提升代码的可再用性,Web框架开发离不开相应的开发语言,以下是常用的Web架构开发语言:
    在这里插入图片描述

    1. PHP语言

    PHP是Web架构开发常用语言,PHP开发了很多Web框架,如Zend framework、CakePHP、ThinkPHP等,PHP 独特的语法混合了C、Java、Perl 以及 PHP 自创新的语法,可以比CGI或者Perl更快速的执行动态网页,而且功能强大,所有的CGI的功能PHP都能实现,支持几乎所有流行的数据库以及操作系统,还可以用C、C++进行程序的扩展!

    1. JavaScript
      JavaScript是一种属于网络的脚本语言,被广泛用于Web应用开发,JavaScript是一种运行在浏览器中的解释型的编程语言,可以轻松实现跨平台、跨浏览器驱动网页以及与用户交互的功能,JavaScript开发很多Web框架,如Angular.js、Ember.js以及Javascript MVC等。
      学前端我们是认真的(加Q裙:585843909)。
      3.c#语言

    C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。 正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。 最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。

    1. Java语言

    Java是一门面向对象的编程语言,在电子商务领域以及网站开发领域占据了重要的地位,开发人员可以运用很多不同的框架来创建Web项目,如SpringMVC,Struts2.0以及frameworks等,即使是简单的servlet、jsp和以struts为基础的网站在政府项目中也经常被用到,疗救护、保险、教育、国防以及其他的不同部门网站也都是以Java为基础来开发的。

    1. Python

    Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发,Python有上百种Web开发框架,有很多成熟的模板技术,如Django、flask等,选择Python开发Web应用,不但开发效率高,而且运行速度快。
    在这里插入图片描述

    注:想了解更多前端加Q裙:585843909,还有大礼包等着你来。

    以上是一些常用的开发语言,一个专业的web前端开发工程师,是需要去不断学习新语言,掌握新知识,还是要熟悉常用的开发语言,这样才能在开发过程中事半功倍,达到更好的效果!
    在这里插入图片描述

    展开全文
  • java web开发实战1200例 第二卷 源码

    千次下载 热门讨论 2013-04-01 18:30:07
    《Java Web开发实战1200例(第2卷)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为核心,介绍了应用Java Web进行程序开发的各个方面的知识和技巧,主要内容包括流行组件应用、数据库应用、图表统计、Ajax...
  • 系统讲解微信公众平台订阅号、服务号官方列出的全部功能接口,包括:自定义菜单、个性化菜单(按需定制菜单)、群发消息、客服消息(有限次消息推送)、模板消息接(无限次消息推送)、微信网页开发(微信WEB开发、...
  • spring web开发配置模板

    万次阅读 2017-06-01 17:16:14
    <?xml version="1.0" encoding="UTF-8" standalone="no"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="... xmlns:aop=&
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:context="http://www.springframework.org/schema/context" 
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="http://www.springframework.org/schema/aop 
           	    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
                http://www.springframework.org/schema/beans 
                http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                http://www.springframework.org/schema/context 
                http://www.springframework.org/schema/context/spring-context-3.0.xsd
                http://www.springframework.org/schema/tx 
                http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
    
    
        <bean id="propertyConfigurer"
              class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="locations">
                <list>
                    <value>${spring.conf.path}/database.properties</value>
                    <value>${spring.conf.path}/mail.properties</value>
                </list>
            </property>
        </bean>
        
        <context:component-scan base-package="com.ichaoying"/>
    
        <context:annotation-config/>
        
        <aop:aspectj-autoproxy/>
        
        <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
        
        <bean id="mainDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="${database.driverClassName}"/>
            <property name="jdbcUrl" value="${database.org.url}"/>
            <property name="user" value="${database.org.username}"/>
            <property name="password" value="${database.org.password}"/>
            <property name="initialPoolSize" value="${pool.initialPoolSize}"/>
            <property name="minPoolSize" value="${pool.minPoolSize}"/>
            <property name="maxPoolSize" value="${pool.maxPoolSize}"/>
            <property name="maxIdleTime" value="${pool.maxIdleTime}"/>
            <property name="acquireIncrement" value="${pool.acquireIncrement}"/>
        </bean>
    
    	<!--hibernate -->
    	<bean id="mainSessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    		<property name="dataSource">
    			<ref bean="mainDataSource" />
    		</property>
    		<property name="packagesToScan">
    			<list>
    				<value>com.ichaoying.*.domain</value>
    			</list>
    		</property>
    		<property name="configLocation">
    			<value>/WEB-INF/conf/hibernate-mysql.xml</value>
    		</property>
    	</bean>
    	
    	<!-- hibernate template -->
    	<bean id="mainHibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    		<property name="sessionFactory" ref="mainSessionFactory" />
    	</bean>
    	
    
    
    	<!-- transaction -->
    	<bean id="mainTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    		<property name="sessionFactory">
    			<ref bean="mainHibernateTemplate" />
    		</property>
    		<property name="nestedTransactionAllowed">
    			<value>true</value>
    		</property>
    	</bean>
    	
    
    	<tx:annotation-driven transaction-manager="mainTransactionManager" />
    
    	<aop:config>
    		<aop:pointcut id="asPointcut" expression="execution(* com.ichaoying.xxx.service.*.*(..))" />
    		<aop:advisor advice-ref="txAdvice" pointcut-ref="asPointcut" />
    	</aop:config>
    
    	<tx:advice id="txAdvice" transaction-manager="mainTransactionManager">
    		<tx:attributes>
    			<tx:method name="*" read-only="true" />
    			<tx:method name="add*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="save*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="create*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="update*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="remove*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="accept*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="reject*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="execute*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="sync*" propagation="REQUIRED" rollback-for="Exception" />
    			<tx:method name="*" read-only="true" />
    		</tx:attributes>
    	</tx:advice>
    </beans>
    


    • mysql配置文件
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
    	<session-factory>
    		<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
    		<property name="show_sql">false</property>
    		<property name="format_sql">false</property>
    		<property name="jdbc.batch_size">50</property>
    		<property name="hibernate.connection.SetBigStringTryClob">true</property>
    		<property name="hibernate.archive.autodetection">class</property>
    		<property name="hibernate.connection.charSet">UTF-8</property>
    		<property name="hibernate.cache.use_query_cache">false</property>
    		<property name="hibernate.cache.use_second_level_cache">false</property>
    		<property name="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</property>
    	</session-factory>
    </hibernate-configuration>
    
    • 数据库配置
    database.driverClassName=com.mysql.jdbc.Driver
    

    database.url=jdbc:mysql://localhost:3306/dbname?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
    database.username=q3boy
    database.password=123

    pool.initialPoolSize=0
    pool.minPoolSize=0
    pool.maxPoolSize=5
    pool.maxIdleTime=120
    pool.acquireIncrement=1

    • web.xml配置
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    	<display-name>xxxxx</display-name>
    	<description>xxxx</description>
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>classpath:applicationContext.xml,classpath:applicationContext-mail.xml,classpath:applicationContext-core.xml,classpath:applicationContext-hr.xml</param-value>
    	</context-param>
    	<context-param>
    		<param-name>log4jConfigLocation</param-name>
    		<param-value>/WEB-INF/conf/log4j.xml</param-value>
    	</context-param>
    	<!-- 项目使用的配置文件位置.项目启动自动读取 -->
    	<context-param>
    		<param-name>propertiesConfigLocation</param-name>
    		<param-value>/WEB-INF/conf/config.properties</param-value>
    	</context-param>
    	<listener>
    		<listener-class>com.ichaoying.web.WebContextListener</listener-class>
    	</listener>
    	<listener>
    		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    	</listener>
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    	<listener>
    		<listener-class>com.ichaoying.hr.web.util.HrWebContextListener</listener-class>
    	</listener>
    	<filter>
    		<filter-name>sitemesh</filter-name>
    		<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
    	</filter>
    	<filter>
    		<filter-name>SetCharacterEncoding</filter-name>
    		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    		<init-param>
    			<param-name>encoding</param-name>
    			<param-value>UTF-8</param-value>
    		</init-param>
    	</filter>
    	<filter>
    		<filter-name>entityFilter</filter-name>
    		<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
    	</filter>
    	<filter-mapping>
    		<filter-name>sitemesh</filter-name>
    		<url-pattern>/*</url-pattern>
    		<dispatcher>REQUEST</dispatcher>
    		<dispatcher>FORWARD</dispatcher>
    	</filter-mapping>
    	<filter-mapping>
    		<filter-name>SetCharacterEncoding</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    	<filter-mapping>
    		<filter-name>entityFilter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    	<servlet>
    		<servlet-name>appServlet</servlet-name>
    		<servlet-class>com.ichaoying.web.MtDispatcherServlet</servlet-class>
    		<init-param>
    			<param-name>contextConfigLocation</param-name>
    			<param-value>classpath:webmvc-config-core.xml,classpath:webmvc-config.xml</param-value>
    		</init-param>
    		<load-on-startup>2</load-on-startup>
    	</servlet>
    	<servlet>
    		<servlet-name>sitemesh-freemarker</servlet-name>
    		<servlet-class>com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet</servlet-class>
    		<init-param>
    			<param-name>TemplatePath</param-name>
    			<param-value>/</param-value>
    		</init-param>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>appServlet</servlet-name>
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>sitemesh-freemarker</servlet-name>
    		<url-pattern>*.ftl</url-pattern>
    	</servlet-mapping>
    </web-app>
    
    • spring mvc 配置
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"
    	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
    		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    
    &lt;context:component-scan base-package="com.ichaoying.**.web" /&gt;
    
    &lt;mvc:annotation-driven /&gt;
    
    &lt;mvc:resources mapping="/static/**" location="/static/" /&gt;
    &lt;mvc:resources mapping="/js/**" location="/js/" /&gt;
    &lt;mvc:resources mapping="/css/**" location="/css/" /&gt;
    &lt;mvc:resources mapping="/resources/**" location="/resources/" /&gt;
    
    &lt;bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&gt;
    	&lt;property name="messageConverters"&gt;
    		&lt;list&gt;
    			&lt;bean class="org.springframework.http.converter.StringHttpMessageConverter"&gt;
    				&lt;property name="supportedMediaTypes"&gt;
    					&lt;list&gt;
    						&lt;value&gt;text/plain;charset=UTF-8&lt;/value&gt;
    					&lt;/list&gt;
    				&lt;/property&gt;
    			&lt;/bean&gt;
    			&lt;bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"&gt;&lt;/bean&gt; 
    		&lt;/list&gt;
    	&lt;/property&gt;
    &lt;/bean&gt;
    

    <!–
    <bean id=“exceptionResolver” class=“com.ichaoying.web.MtMappingExceptionResolver”>
    <property name=“defaultErrorView” value=“error/uncaughtException”/>
    <property name=“exceptionMappings”>
    <props>
    <prop key=".NoURIFoundException">error/pageNotFound</prop>
    <prop key=".DataNotFoundException">error/dataNotFound</prop>
    <prop key=".FileNotFoundException">error/fileNotFound</prop>
    <prop key=".AccessDeniedException">error/accessDenied</prop>
    <prop key=“java.lang.Exception”>error/uncaughtException</prop>
    <prop key=".ConstraintViolationException">error/validateException</prop>
    <prop key=".MOMAException">error/MOMAException</prop>
    </props>
    </property>
    </bean>
    –>
    <bean id=“freemarkerConfig” class=“org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer”>
    <property name=“templateLoaderPath” value="/WEB-INF/views/" />
    <property name=“freemarkerSettings”>
    <props>
    <prop key=“template_update_delay”>0</prop>
    <prop key=“default_encoding”>UTF-8</prop>
    <prop key=“locale”>zh_CN</prop>
    <prop key=“url_escaping_charset”>UTF-8</prop>
    <prop key=“whitespace_stripping”>true</prop>
    </props>
    </property>
    </bean>

    &lt;bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"&gt;
    	&lt;property name="contentType" value="text/html; charset=UTF-8" /&gt;
    	&lt;property name="cache" value="true" /&gt;
    	&lt;property name="prefix" value="" /&gt;
    	&lt;property name="suffix" value=".ftl" /&gt;
    	&lt;property name="exposeSpringMacroHelpers" value="true" /&gt;
    	&lt;property name="exposeRequestAttributes" value="true" /&gt;
    	&lt;property name="exposeSessionAttributes" value="true" /&gt;
    	&lt;property name="requestContextAttribute" value="request" /&gt;
    &lt;/bean&gt;
    
    &lt;bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" /&gt;
    

    </beans>

    • log4j配置
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    
    &lt;!-- Appenders --&gt;
    &lt;appender name="console" class="org.apache.log4j.ConsoleAppender"&gt;
    	&lt;param name="Target" value="System.out" /&gt;
    	&lt;layout class="org.apache.log4j.PatternLayout"&gt;
    		&lt;param name="ConversionPattern" value="%d{HH:mm:ss.SSS}&nbsp;%5p (%F:%L) -&nbsp;%m%n" /&gt;
    	&lt;/layout&gt;
    &lt;/appender&gt;
    &lt;appender name="logfile" class="org.apache.log4j.DailyRollingFileAppender"&gt;
    	&lt;param name="File" value="logs/web.log" /&gt;
    	&lt;layout class="org.apache.log4j.PatternLayout"&gt;
    		&lt;param name="ConversionPattern" value="%d&nbsp;%-5p (%F:%L) -&nbsp;%m%n" /&gt;
    	&lt;/layout&gt;
    &lt;/appender&gt;
    &lt;appender name="errfile" class="org.apache.log4j.DailyRollingFileAppender"&gt;
    	&lt;param name="File" value="logs/weberr.log" /&gt;
    	&lt;layout class="org.apache.log4j.PatternLayout"&gt;
    		&lt;param name="ConversionPattern" value="%d&nbsp;%-5p (%F:%L) -&nbsp;%m%n" /&gt;
    	&lt;/layout&gt;
    &lt;/appender&gt;
    
    &lt;logger name="com.ichaoying.web" additivity="false"&gt;
    	&lt;priority value="warn" /&gt;
    	&lt;appender-ref ref="console" /&gt;
    	&lt;appender-ref ref="errfile" /&gt;
    &lt;/logger&gt;
    
    &lt;!-- Application Loggers --&gt;
    &lt;logger name="com.ichaoying"&gt;
    	&lt;level value="debug" /&gt;
    &lt;/logger&gt;
    
    &lt;!-- 3rdparty Loggers --&gt;
    &lt;logger name="org.springframework.core"&gt;
    	&lt;level value="info" /&gt;
    &lt;/logger&gt;
    
    &lt;logger name="org.springframework.beans"&gt;
    	&lt;level value="info" /&gt;
    &lt;/logger&gt;
    
    &lt;logger name="org.springframework.context"&gt;
    	&lt;level value="info" /&gt;
    &lt;/logger&gt;
    
    &lt;logger name="org.springframework.web"&gt;
    	&lt;level value="info" /&gt;
    &lt;/logger&gt;
    
    &lt;!-- Root Logger --&gt;
    &lt;root&gt;
    	&lt;priority value="warn" /&gt;
    	&lt;appender-ref ref="console" /&gt;
    	&lt;appender-ref ref="logfile" /&gt;
    &lt;/root&gt;
    

    </log4j:configuration>


    展开全文
  • 系统讲解微信公众平台订阅号、服务号官方列出的全部功能接口,包括:自定义菜单、个性化菜单(按需定制菜单)、群发消息、客服消息(有限次消息推送)、模板消息接(无限次消息推送)、微信网页开发(微信WEB开发、...
  • web开发框架技术有哪些?

    千次阅读 2018-11-07 16:07:30
    如果你是做Web开发的,Web框架一定会很熟悉,框架是Web架构开发中必不可少的工具,不仅可以提高开发效率,还能让开发项目更成熟,并且可以提升代码的可再用性,Web框架开发离不开相应的开发语言,以下是常用的Web...
  • Python全栈工程师之Web开发教程

    千人学习 2018-07-26 15:11:36
    本次课程主要讲解Python的Web开发,重点讲解Django框架,具体有Django框架的安装、搭建、URL路由配置、Model模型、View视图、Template模板、以及常用的web功能开发和阿里云服务器上实现Python Web项目部署。
  • 1.网络编程和web开发有什么不同?我的理解是网络编程是计算机和服务器之间通讯,web开发是网站?但是一些软件连接到服务器,但是其中需要用浏览器显示某些信息,例如360打开软件管家,其中的信息不用浏览器显示不了...
  • 架构设计之路自主编写Web开发框架

    万人学习 2016-01-17 15:36:57
    以从零开始编写一个类似Struts2框架的方式来思考和架构,手把手带你从开始分析到结构设计到终实现的整个过程,完成Struts2框架的核心内容,从而更好的理解...通过本课程学习能掌握框架开发的技能和web框架的设计思路。
  • 转载自: 浅谈Java Web开发与Python Web开发的区别 – 金丝燕网  今天这篇文章谈一谈Java Web开发和Python Web开发的区别。在这里我并不是鼓励大家从Java Web转向Python Web开发,我只是想说一下自己的感觉而已,...
  • web开发级Centos实战(上)

    万人学习 2016-05-31 15:40:44
    本课程是web开发级mysql实战的姊妹课程。从web开发角度出发讲解基于Centos的实战知识点,从原理上了解web开发的精髓。其的知识点和课课都是干货的讲课风格,小伙伴们懂得。如果你喜欢我们的系列,务必不要错过这门课...
  • web开发工具

    万次阅读 2018-01-10 14:13:56
    软件火狐:http://www.firefox.com.cn/download/Chrome:http://www.google.cn/chrome/browser/desktop/index.htmlTeemViewer:https://www.teamviewer.com/zhcn/download/windows/Ps cs6:...
  • 基于Python的Web开发

    万次阅读 2019-02-26 11:24:29
    下面来介绍一下基于Python语言的Web开发中几种常见的Web开发框架; 1、Python语言是第四代程序设计语言,是解释性的、交互性的和面向对象的。它在Web应用和非Web应用中都发挥了重要的作用。比如Google的核心代码是...
  • Django Web 开发极简实战

    千次阅读 2018-04-12 10:41:44
    本课程是一个系列基础教程,目标是带领读者上手实战 Django Web 开发,课程以 Django 1.10 为基础,通过一个在线视频网站的构建,实战化的介绍 Django Web 开发中涉及的各大基本功能,从项目的创建和配置、到视图...
  • Java Web开发环境配置

    万次阅读 多人点赞 2013-05-21 11:09:28
    这是进行Java Web开发必备的一个过程,仅供新手参考,高手可以忽略! 先看看要安装的东西: 各位可以去官网上下载,版本不一定非得都一样,如果找不着就google一下,下面进入正题。 一、安装JDK 1、下载得到...
  • 详细SpringBoot教程之Web开发(一)

    万次阅读 多人点赞 2020-02-24 22:25:12
    我这里打算写一个SpringBoot系列的相关博文,目标呢是想让看了这一系列博文的同学呢,能够对SpringBoot略窥门径,这一系列的博文初步都定下来包括SpringBoot介绍、入门、配置、日志相关、web开发、数据访问、结合...
  • JAVA Web开发基础知识

    千次阅读 2020-02-15 18:34:44
    在做渗透的期间,JAVA Web类型的网站是见过最多的(大部分的国企,大型企业都是用的JAVA Web),也是最难的,因为涉及到JAVA Web开发方面众多的框架。由于对JAVA Web方面的知识不是很了解,所以特此整理一番。 JAVA ...
  • Tomcat与Java.Web开发技术详解(PDF)

    千次下载 热门讨论 2006-10-23 16:51:37
    本书详细介绍了在最新Tomcat 5版本上开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发的高级技术,Tomcat与当前其他通用软件的集成,以及Tomcat的各种高级功能。
  • 从零开始学习移动端Web开发

    万次阅读 多人点赞 2017-05-11 13:19:57
    从传统的安卓、IOS原生手机系统应用开发,转向了移动端Web开发或者是混合开发,既然有需求,那就让我们一起来学习移动端Web开发吧。本文旨在让读者以最快的时间了解移动Web开发基础以及介绍一些常见问题。基础准备...
  • python web开发--web前端开发介绍

    千次阅读 2018-08-20 14:11:14
  • python web开发入门

    万次阅读 2017-05-10 20:24:20
    ps:最近(18.2.26)对内容做了一些修改。 Python web开发通常都是从学习某一种框架开始,比如Django,flask。...Python web开发web开发的子集,在学习如何用Python开发web应用之前,我们需要了解web服...
  • Web开发框架 SSH 简介

    万次阅读 2015-10-13 10:31:34
    Struts 是一个很好的MVC框架,主要技术是Servlet和Jsp。Struts的MVC设计模式可以使我们的逻辑变得很清晰,让我们写的程序层次分明。 ... Spring 提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类...
  • Web开发技术】Javascript编写的简易计算器

    万次阅读 多人点赞 2011-12-18 11:45:47
    08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活。... 用JS编写计算器 Javascript相当只简洁方便,颇有MATLAB之风 ...这是曾经web课上的作业,用js写个简单的计算器 这里关键是定义计算器的函数...
  • python Web开发

    千次阅读 2018-12-27 17:50:04
    本文参考自廖雪峰老师的python教程,旨在理清用python做web开发的思路。 一,HTTP 二,请求一个网页的流程 三,WSGI 四,Web框架 五,模板 六,总结 一,HTTP http get请求格式: GET /path HTTP/1.1 ...
  • 这篇文章只是我深入了解移动领域开发过程...1:移动web开发 这部分跟web前端开发差别不大,使用的技术都是html+css+js。区别为手机浏览器是webkit的天下,pc端是三足鼎立IEfirefox chorme。手机网页可以理解成pc
  • Eclipse Web开发

    千次阅读 2014-05-04 22:02:15
    Java:使用Eclipse WTP进行快速Web开发(1) - 配置Tomcat 建立好 3 个工程,并正确设置好依赖关系后,我们将在WTP中配置 tomcat。  1. 打开 Servers View  通过 Window/Select View/Other... 菜单,找到 ...

空空如也

1 2 3 4 5 ... 20
收藏数 313,975
精华内容 125,590
热门标签
关键字:

web开发